This commit is contained in:
27942
2026-01-29 10:19:27 +08:00
parent 6262a67f46
commit e8b8507dca
6 changed files with 20 additions and 15 deletions

View File

@@ -3,15 +3,15 @@ import type { AdminBounty, AdminPaymentEvent, AdminUser, AdminProduct, Paginated
export const adminApi = {
listUsers: () => api.get<PaginatedResponse<AdminUser>>("/admin/users/").then((r) => r.data),
updateUser: (id: number, data: { role?: string; is_active?: boolean }) =>
updateUser: (id: number, data: { role?: string, is_active?: boolean }) =>
api.patch<AdminUser>(`/admin/users/${id}`, data).then((r) => r.data),
listCategories: () => api.get<PaginatedResponse<{ id: number; name: string }>>("/admin/categories/").then((r) => r.data),
listWebsites: () => api.get<PaginatedResponse<{ id: number; name: string }>>("/admin/websites/").then((r) => r.data),
listProducts: () => api.get<PaginatedResponse<{ id: number; name: string }>>("/admin/products/").then((r) => r.data),
listCategories: () => api.get<PaginatedResponse<{ id: number, name: string }>>("/admin/categories/").then((r) => r.data),
listWebsites: () => api.get<PaginatedResponse<{ id: number, name: string }>>("/admin/websites/").then((r) => r.data),
listProducts: () => api.get<PaginatedResponse<{ id: number, name: string }>>("/admin/products/").then((r) => r.data),
listBounties: (status?: string) =>
api.get<PaginatedResponse<AdminBounty>>("/admin/bounties/", { params: { status } }).then((r) => r.data),
listDisputes: (status?: string) =>
api.get<PaginatedResponse<{ id: number; bounty_id: number; initiator_id: number; status: string; created_at: string }>>>(
api.get<PaginatedResponse<{ id: number, bounty_id: number, initiator_id: number, status: string, created_at: string }>>(
"/admin/disputes/",
{ params: { status } }
).then((r) => r.data),
@@ -22,6 +22,6 @@ export const adminApi = {
api.get<PaginatedResponse<AdminProduct>>("/admin/products/pending/").then((r) => r.data),
listAllProducts: (status?: string) =>
api.get<PaginatedResponse<AdminProduct>>("/admin/products/all/", { params: { status } }).then((r) => r.data),
reviewProduct: (productId: number, data: { approved: boolean; reject_reason?: string }) =>
reviewProduct: (productId: number, data: { approved: boolean, reject_reason?: string }) =>
api.post<AdminProduct>(`/admin/products/${productId}/review/`, data).then((r) => r.data),
};