import { Attendance, DashboardFilter, User } from '../types'; // URL do Backend // Em produção (import.meta.env.PROD), usa caminho relativo '/api' pois o backend serve o frontend // Em desenvolvimento, aponta para o localhost:3001 const API_URL = import.meta.env.PROD ? '/api' : 'http://localhost:3001/api'; export const getAttendances = async (tenantId: string, filter: DashboardFilter): Promise => { try { const params = new URLSearchParams(); params.append('tenantId', tenantId); if (filter.dateRange.start) params.append('startDate', filter.dateRange.start.toISOString()); if (filter.dateRange.end) params.append('endDate', filter.dateRange.end.toISOString()); if (filter.userId && filter.userId !== 'all') params.append('userId', filter.userId); if (filter.teamId && filter.teamId !== 'all') params.append('teamId', filter.teamId); const response = await fetch(`${API_URL}/attendances?${params.toString()}`); if (!response.ok) { throw new Error('Falha ao buscar atendimentos do servidor'); } return await response.json(); } catch (error) { console.error("API Error (getAttendances):", error); // Fallback vazio ou lançar erro para a UI tratar return []; } }; export const getUsers = async (tenantId: string): Promise => { try { const params = new URLSearchParams(); if (tenantId !== 'all') params.append('tenantId', tenantId); const response = await fetch(`${API_URL}/users?${params.toString()}`); if (!response.ok) throw new Error('Falha ao buscar usuários'); return await response.json(); } catch (error) { console.error("API Error (getUsers):", error); return []; } }; export const getUserById = async (id: string): Promise => { try { const response = await fetch(`${API_URL}/users/${id}`); if (!response.ok) return undefined; return await response.json(); } catch (error) { console.error("API Error (getUserById):", error); return undefined; } }; export const getAttendanceById = async (id: string): Promise => { try { const response = await fetch(`${API_URL}/attendances/${id}`); if (!response.ok) return undefined; return await response.json(); } catch (error) { console.error("API Error (getAttendanceById):", error); return undefined; } };