import api from '@/services/api';

/**
 * Serviço para o módulo de Ponto Eletrônico.
 * Segue o padrão de latência simulada para Mocks.
 */
export const pontoService = {
  /**
   * Registra um novo ponto com geolocalização.
   */
  registrarPonto: async (pontoData) => {
    try {
      await new Promise(resolve => setTimeout(resolve, 1200));
      
      console.log('Ponto registrado no service:', pontoData);
      
      return {
        success: true,
        data: {
          id: Date.now(),
          timestamp: new Date().toISOString(),
          ...pontoData
        }
      };
    } catch (error) {
      throw new Error('Falha ao registrar ponto. Tente novamente.');
    }
  },

  /**
   * Busca histórico de pontos do usuário.
   */
  getHistorico: async () => {
    await new Promise(resolve => setTimeout(resolve, 600));
    return [
      { id: 1, data: '2024-01-05', entrada: '08:00', saida: '17:00', status: 'Normal' },
      { id: 2, data: '2024-01-04', entrada: '08:15', saida: '17:30', status: 'Atraso' },
      { id: 3, data: '2024-01-03', entrada: '07:55', saida: '17:05', status: 'Extra' },
    ];
  }
};
