import { axiosClient } from "@/lib/axios";
import { ApiResponse } from "@/types/api.types";

export interface EmployeeTaskStats {
  total: number;
  completed: number;
  overdue: number;
  dueSoon: number;
  pendingDocVerification: number;
  byStatus: Record<string, number>;
  PENDING: string;
  IN_PROGRESS: string;
  REJECTED: string;
}

export interface EmployeeTaskTrendPoint {
  date: string;
  assigned: number;
  completed: number;
}

export const employeeDashboardService = {
  getTaskStats: async (): Promise<ApiResponse<EmployeeTaskStats>> => {
    const res = await axiosClient.get(`/employee/tasks/stats`);
    return res.data;
  },

  getTaskTrend: async (
    days: number = 30,
  ): Promise<ApiResponse<EmployeeTaskTrendPoint[]>> => {
    const res = await axiosClient.get(`/employee/tasks/trend?days=${days}`);
    return res.data;
  },
};
