import ApiService from "./ApiService";

// Leave Balance interfaces
export interface LeaveBalance {
  id: number;
  name: string;
  code: string;
  annual_allowed_days: number;
  is_paid: number;
  carry_forward: number;
  total_allocated: number;
  used_days: number;
  available_days: number;
  year: number;
}

export interface LeaveBalanceResponse {
  success: boolean;
  code: number;
  message: string;
  data: LeaveBalance[];
}

// Get Employee Leave Balances
export async function getEmployeeLeaveBalances(employeeId?: string) {
  const url = employeeId
    ? `/employees/my-leave-balances?employee_id=${employeeId}`
    : "/employees/my-leave-balances";

  return ApiService.request<LeaveBalanceResponse>({
    url,
    method: "get",
    params: {
      employee_id: employeeId,
    },
  });
}
