import { api } from "./client"; import type { AdminBounty, AdminPaymentEvent, AdminUser, AdminProduct, PaginatedResponse } from "../types"; export const adminApi = { listUsers: () => api.get>("/admin/users/").then((r) => r.data), updateUser: (id: number, data: { role?: string; is_active?: boolean }) => api.patch(`/admin/users/${id}`, data).then((r) => r.data), listCategories: () => api.get>("/admin/categories/").then((r) => r.data), listWebsites: () => api.get>("/admin/websites/").then((r) => r.data), listProducts: () => api.get>("/admin/products/").then((r) => r.data), listBounties: (status?: string) => api.get>("/admin/bounties/", { params: { status } }).then((r) => r.data), listDisputes: (status?: string) => api.get>>( "/admin/disputes/", { params: { status } } ).then((r) => r.data), listPayments: () => api.get>("/admin/payments/").then((r) => r.data), // Product review APIs listPendingProducts: () => api.get>("/admin/products/pending/").then((r) => r.data), listAllProducts: (status?: string) => api.get>("/admin/products/all/", { params: { status } }).then((r) => r.data), reviewProduct: (productId: number, data: { approved: boolean; reject_reason?: string }) => api.post(`/admin/products/${productId}/review/`, data).then((r) => r.data), };