import { api } from "@/lib/api-client"; import type { AdmissionRegister, Admission, AdmissionRegisterCreateRequest, AdmissionCreateRequest, } from "@/types/admission"; import type { PaginatedResponse, PaginationParams, ApiSuccessResponse } from "@/types"; export const admissionService = { async listRegisters(params?: PaginationParams): Promise> { return api.get>("/admission-registers", params as Record); }, async createRegister(data: AdmissionRegisterCreateRequest): Promise { return api.post("/admission-registers", data); }, async updateRegister(id: number, data: Partial): Promise { return api.patch(`/admission-registers/${id}`, data); }, async confirmRegister(id: number): Promise { return api.post(`/admission-registers/${id}/confirm`); }, async closeRegister(id: number): Promise { return api.post(`/admission-registers/${id}/close`); }, async listAdmissions(params?: PaginationParams & { state?: string; register_id?: number; course_id?: number }): Promise> { return api.get>("/admissions", params as Record); }, async getAdmission(id: number): Promise { return api.get(`/admissions/${id}`); }, async createAdmission(data: AdmissionCreateRequest): Promise { return api.post("/admissions", data); }, async submitAdmission(id: number): Promise { return api.post(`/admissions/${id}/submit`); }, async confirmAdmission(id: number): Promise { return api.post(`/admissions/${id}/confirm`); }, async admitAdmission(id: number): Promise { return api.post(`/admissions/${id}/admit`); }, async rejectAdmission(id: number): Promise { return api.post(`/admissions/${id}/reject`); }, };