feat: add admin web MVP
This commit is contained in:
38
admin-web/src/api/productApi.ts
Normal file
38
admin-web/src/api/productApi.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import type { Product, ProductCategory, ProductSku } from '../types'
|
||||
import { apiGet, apiPost, apiPut } from './http'
|
||||
|
||||
export function listProducts() {
|
||||
return apiGet<Product[]>('/api/admin/products')
|
||||
}
|
||||
|
||||
export function createProduct(data: Partial<Product>) {
|
||||
return apiPost<Product>('/api/admin/products', data)
|
||||
}
|
||||
|
||||
export function updateProduct(id: number, data: Partial<Product>) {
|
||||
return apiPut<Product>(`/api/admin/products/${id}`, data)
|
||||
}
|
||||
|
||||
export function onShelfProduct(id: number) {
|
||||
return apiPut<Product>(`/api/admin/products/${id}/on-shelf`)
|
||||
}
|
||||
|
||||
export function offShelfProduct(id: number) {
|
||||
return apiPut<Product>(`/api/admin/products/${id}/off-shelf`)
|
||||
}
|
||||
|
||||
export function listProductCategories() {
|
||||
return apiGet<ProductCategory[]>('/api/admin/product-categories')
|
||||
}
|
||||
|
||||
export function createProductCategory(data: Partial<ProductCategory>) {
|
||||
return apiPost<ProductCategory>('/api/admin/product-categories', data)
|
||||
}
|
||||
|
||||
export function addSku(productId: number, data: Partial<ProductSku>) {
|
||||
return apiPost<ProductSku>(`/api/admin/products/${productId}/skus`, data)
|
||||
}
|
||||
|
||||
export function updateSku(productId: number, skuId: number, data: Partial<ProductSku>) {
|
||||
return apiPut<ProductSku>(`/api/admin/products/${productId}/skus/${skuId}`, data)
|
||||
}
|
||||
Reference in New Issue
Block a user