feat(F-048): completed feature
This commit is contained in:
@@ -56,6 +56,7 @@ export const authApi = {
|
||||
};
|
||||
|
||||
// ── Products ──────────────────────────────────────────────────────────────────
|
||||
// Backend: /catalog/products (admin list), /products/:id (admin CRUD)
|
||||
|
||||
export const productsApi = {
|
||||
list: (params?: { limit?: number; offset?: number; q?: string }) => {
|
||||
@@ -68,15 +69,15 @@ export const productsApi = {
|
||||
`/api/catalog/products${qs ? `?${qs}` : ''}`,
|
||||
);
|
||||
},
|
||||
get: (id: string) => api.get<import('@/types').Product>(`/api/catalog/products/${id}`),
|
||||
get: (id: string) => api.get<import('@/types').Product>(`/api/products/${id}`),
|
||||
getVariants: (id: string) =>
|
||||
api.get<{ items: import('@/types').ProductVariant[] }>(`/api/catalog/products/${id}/variants`),
|
||||
create: (data: unknown) => api.post<import('@/types').Product>('/api/catalog/products', data),
|
||||
api.get<{ items: import('@/types').ProductVariant[] }>(`/api/products/${id}/variants`),
|
||||
create: (data: unknown) => api.post<import('@/types').Product>('/api/products', data),
|
||||
update: (id: string, data: unknown) =>
|
||||
api.patch<import('@/types').Product>(`/api/catalog/products/${id}`, data),
|
||||
api.patch<import('@/types').Product>(`/api/products/${id}`, data),
|
||||
setState: (id: string, state: 'active' | 'archived') =>
|
||||
api.patch(`/api/catalog/products/${id}/state`, { state }),
|
||||
delete: (id: string) => api.delete(`/api/catalog/products/${id}`),
|
||||
api.patch(`/api/products/${id}/state`, { state }),
|
||||
delete: (id: string) => api.delete(`/api/products/${id}`),
|
||||
};
|
||||
|
||||
// ── Orders ────────────────────────────────────────────────────────────────────
|
||||
@@ -114,6 +115,15 @@ export const customersApi = {
|
||||
api.patch<import('@/types').Customer>(`/api/users/${id}`, data),
|
||||
create: (data: { email: string; password: string; displayName?: string; phone?: string }) =>
|
||||
api.post<import('@/types').Customer>('/api/auth/register', data),
|
||||
// ── Direcciones (FIX-18) ───────────────────────────────────────────────────
|
||||
listAddresses: (id: string) =>
|
||||
api.get<{ items: import('@/types').Address[] }>(`/api/users/${id}/addresses`),
|
||||
createAddress: (id: string, data: Omit<import('@/types').Address, 'id' | 'userId' | 'createdAt' | 'updatedAt'>) =>
|
||||
api.post<import('@/types').Address>(`/api/users/${id}/addresses`, data),
|
||||
updateAddress: (id: string, addressId: string, data: Partial<Omit<import('@/types').Address, 'id' | 'userId' | 'createdAt' | 'updatedAt'>>) =>
|
||||
api.patch<import('@/types').Address>(`/api/users/${id}/addresses/${addressId}`, data),
|
||||
deleteAddress: (id: string, addressId: string) =>
|
||||
api.delete<void>(`/api/users/${id}/addresses/${addressId}`),
|
||||
};
|
||||
|
||||
// ── Brands ────────────────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user