import apiClient from "../api-client"; /** * MPT(혈액화학검사) 결과 DTO */ export interface MptDto { pkMptNo: number; cowShortNo: string; fkFarmNo: number; testDt: string; monthAge: number; milkYield: number; parity: number; // 에너지 대사 glucose: number; cholesterol: number; nefa: number; bcs: number; // 단백질 대사 totalProtein: number; albumin: number; globulin: number; agRatio: number; bun: number; // 간기능 ast: number; ggt: number; fattyLiverIdx: number; // 미네랄 calcium: number; phosphorus: number; caPRatio: number; magnesium: number; creatine: number; // Relations farm?: { pkFarmNo: number; farmerName: string; }; } /** * MPT(혈액화학검사) 관련 API */ export const mptApi = { /** * GET /mpt - 전체 검사 결과 목록 */ findAll: async (): Promise => { return await apiClient.get("/mpt"); }, /** * GET /mpt?farmId=:farmId - 특정 농장의 검사 결과 */ findByFarmId: async (farmId: number): Promise => { return await apiClient.get("/mpt", { params: { farmId }, }); }, /** * GET /mpt?cowShortNo=:cowShortNo - 특정 개체의 검사 결과 */ findByCowShortNo: async (cowShortNo: string): Promise => { return await apiClient.get("/mpt", { params: { cowShortNo }, }); }, /** * GET /mpt/:id - 검사 결과 상세 조회 */ findOne: async (id: number): Promise => { return await apiClient.get(`/mpt/${id}`); }, /** * POST /mpt - 검사 결과 생성 */ create: async (data: Partial): Promise => { return await apiClient.post("/mpt", data); }, /** * POST /mpt/bulk - 검사 결과 일괄 생성 */ bulkCreate: async (data: Partial[]): Promise => { return await apiClient.post("/mpt/bulk", data); }, /** * PUT /mpt/:id - 검사 결과 수정 */ update: async (id: number, data: Partial): Promise => { return await apiClient.put(`/mpt/${id}`, data); }, /** * DELETE /mpt/:id - 검사 결과 삭제 */ remove: async (id: number): Promise => { return await apiClient.delete(`/mpt/${id}`); }, };