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), updateProductImages: (productId: number, data: { images: string[]; image?: string }) => api.put(`/admin/products/${productId}/images/`, data).then((r) => r.data), };