import { api } from "@/lib/api-client"; import type { StudentLeaveRequest, StudentLeaveType, StudentLeaveCreateRequest } from "@/types/student-leave"; import type { PaginatedResponse, PaginationParams, ApiSuccessResponse } from "@/types"; export const studentLeaveService = { async listLeaves(params?: PaginationParams): Promise> { return api.get>("/student-leaves", params as Record); }, async createLeave(data: StudentLeaveCreateRequest): Promise { return api.post("/student-leaves", data); }, async updateLeave(id: number, data: Partial): Promise { return api.patch(`/student-leaves/${id}`, data); }, async approveLeave(id: number): Promise { return api.post(`/student-leaves/${id}/approve`); }, async rejectLeave(id: number): Promise { return api.post(`/student-leaves/${id}/reject`); }, async listLeaveTypes(params?: PaginationParams): Promise> { return api.get>("/student-leave-types", params as Record); }, async createLeaveType(data: Pick): Promise { return api.post("/student-leave-types", data); }, };