/** * 품목검사정보 API 클라이언트 * - 좌측 품목 패널 그룹 페이징 조회 */ import { apiClient } from "./client"; export interface InspectionRowApi { id: string; item_code: string; item_name: string; inspection_type: string | null; inspection_standard: string | null; inspection_standard_id: string | null; inspection_item_name: string | null; inspection_method: string | null; apply_process: string | null; classification: string | null; pass_criteria: string | null; is_required: string | null; is_active: string | null; manager_id: string | null; memo: string | null; sort_order: string | null; change_record?: string | null; created_date?: string | null; updated_date?: string | null; // 프론트가 추가로 참조하는 필드(있을 수도, 없을 수도) [key: string]: any; } export interface InspectionGroupApi { item_code: string; item_name: string; is_active: string; rows: InspectionRowApi[]; } export interface InspectionGroupedResponse { success: boolean; groups: InspectionGroupApi[]; total: number; page: number; size: number; totalPages: number; message?: string; } export async function getInspectionGrouped(params: { page?: number; size?: number; search?: string; }): Promise { const qp = new URLSearchParams(); if (params.page) qp.set("page", String(params.page)); if (params.size) qp.set("size", String(params.size)); if (params.search && params.search.trim()) qp.set("search", params.search.trim()); const qs = qp.toString(); const res = await apiClient.get(`/item-inspection/grouped${qs ? `?${qs}` : ""}`); return res.data; }