import api from '@/services/api';

/**
 * Serviço para gestão de RH.
 * Implementa mapeamento de dados para isolar a estrutura da API.
 */
export const rhService = {
  /**
   * Busca lista de solicitações pendentes.
   */
  getPendingRequests: async () => {
    try {
      // Simulação de delay de API
      await new Promise(resolve => setTimeout(resolve, 800));
      
      // MOCK - Em produção seria api.get('/rh/requests')
      const mockData = [
        { id: 1, name: 'Larissa Santos', type: 'Férias', date: '15/01 - 30/01', status: 'Pendente' },
        { id: 2, name: 'Marcos Oliveira', type: 'Ajuste de Ponto', date: '04/01', status: 'Aprovado' },
        { id: 3, name: 'Beatriz Silva', type: 'Reembolso', date: '02/01', status: 'Pendente' },
      ];

      return mockData.map(item => ({
        ...item,
        // Data mapping/transformação se necessário
        isUrgent: item.status === 'Pendente'
      }));
    } catch (error) {
      console.error('Erro ao buscar solicitações de RH:', error);
      throw error;
    }
  },

  /**
   * Busca métricas do dashboard de RH.
   */
  getDashboardStats: async () => {
    // Simulação
    return [
      { label: 'Total de Colaboradores', value: '482', trend: '+12', color: 'bg-indigo-100 text-indigo-600' },
      { label: 'Performance Média', value: '92%', trend: '+4%', color: 'bg-emerald-100 text-emerald-600' },
      { label: 'Satisfação (eNPS)', value: '78', trend: 'Estável', color: 'bg-rose-100 text-rose-600' },
      { label: 'Vagas Abertas', value: '15', trend: '3 urgentes', negative: true, color: 'bg-blue-100 text-blue-600' },
    ];
  }
};
