import { api } from "@/lib/api-client"; import type { IELTSExamConfig, IELTSExamResponse, IELTSSkillConfig, ContentPoolItem, ContentPoolFilters, AssemblyResult, ExamValidationReport, ExamAssignRequest, } from "@/types"; import type { ApiSuccessResponse } from "@/types"; export const ieltsExamService = { create: (data: IELTSExamConfig) => api.post("/exam/ielts/create", data), getSkills: (examId: number) => api.get(`/exam/ielts/${examId}/skills`), getContentPoolCount: (examId: number) => api.get>(`/exam/ielts/${examId}/content-pool-count`), getContentPool: (examId: number, filters: ContentPoolFilters) => api.get(`/exam/ielts/${examId}/content-pool`, filters as Record), autoAssemble: (examId: number) => api.post(`/exam/ielts/${examId}/auto-assemble`), suggest: (examId: number) => api.post(`/exam/ielts/${examId}/suggest`), saveQuestions: (examId: number, sectionId: number, questionIds: number[]) => api.put(`/exam/ielts/${examId}/sections/${sectionId}/questions`, { question_ids: questionIds }), validate: (examId: number) => api.get(`/exam/ielts/${examId}/validate`), update: (examId: number, data: { status: string }) => api.put(`/exam/ielts/${examId}`, data), assign: (examId: number, data: ExamAssignRequest) => api.post(`/exam/ielts/${examId}/assign`, data), };