import { apiFetch } from "@/lib/useApi"; export type AdminCategory = { id: number; slug: string; name: string; description?: string | null; groupName?: string | null; sortOrder?: number | null; }; export type AdminPartRoleMapping = { id: number; platform: string; partRole: string; categorySlug: string; categoryName: string; groupName?: string | null; notes?: string | null; }; export async function fetchAdminCategories(token: string) { return apiFetch("/api/admin/categories", { token, }); } export async function fetchPartRoleMappings(token: string, platform = "AR-15") { const params = new URLSearchParams({ platform }); return apiFetch(`/api/admin/category-mappings?${params.toString()}`, { token, }); } export async function createPartRoleMapping( token: string, payload: { platform: string; partRole: string; categorySlug: string; notes?: string; }, ) { return apiFetch("/api/admin/category-mappings", { method: "POST", token, body: payload, }); } export async function updatePartRoleMapping( token: string, id: number, payload: { platform: string; partRole: string; categorySlug: string; notes?: string; }, ) { return apiFetch(`/api/admin/category-mappings/${id}`, { method: "PUT", token, body: payload, }); } export async function deletePartRoleMapping(token: string, id: number) { await apiFetch(`/api/admin/category-mappings/${id}`, { method: "DELETE", token, }); }