import api from '../config/api';
import { DashboardStats } from '../types';

export const reportService = {
  async dashboard(): Promise<DashboardStats> {
    const response = await api.get('/reports/dashboard');
    const raw = response.data.data || response.data;

    const statusMap: Record<string, number> = {};
    if (Array.isArray(raw.jobs)) {
      raw.jobs.forEach((j: any) => { statusMap[j.status] = j.count; });
    }

    return {
      total_jobs: Object.values(statusMap).reduce((a: number, b: any) => a + b, 0) as number,
      draft_jobs: statusMap['DRAFT'] || 0,
      checked_in_jobs: statusMap['CHECKED_IN'] || 0,
      in_progress_jobs: statusMap['IN_PROGRESS'] || 0,
      completed_jobs: statusMap['COMPLETED'] || 0,
      active_users: raw.active_users || 0,
      recent_locations: [],
    };
  },
};
