export const appointmentMapper = { toUi(apiData) { if (!apiData) return null const patient = apiData.patient || apiData.paciente || apiData.patients || {} const professional = apiData.doctor || apiData.medico || apiData.professional || apiData.doctors || {} return { id: apiData.id || apiData.agendamento_id, patientId: apiData.patientId || apiData.patient_id || apiData.paciente_id || patient.id, patient: apiData.patientName || apiData.patient_name || patient.full_name || patient.nome || patient.name || 'Paciente', professional: apiData.professional || apiData.professionalName || apiData.doctor_name || apiData.medico_nome || professional.name || professional.nome || 'Medico(a)', date: apiData.date || apiData.data || apiData.appointment_date || apiData.data_agendamento || '', time: apiData.time || apiData.hora || apiData.appointment_time || apiData.horario || '', type: apiData.type || apiData.tipo || apiData.tipo_consulta || 'Consulta', mode: apiData.mode || apiData.modalidade || apiData.formato || 'Presencial', status: apiData.status || apiData.situacao || 'Aguardando', room: apiData.room || apiData.sala || apiData.local || 'Consultorio 1', } }, toApi(uiData, dialect = 'api') { if (dialect === 'supabase') { return { patient_id: uiData.patientId, doctor_id: uiData.professionalId || null, appointment_date: uiData.date, appointment_time: uiData.time, type: uiData.type, mode: uiData.mode, status: uiData.status || 'Confirmada', room: uiData.room, } } return { patient_id: uiData.patientId, paciente_id: uiData.patientId, doctor_id: uiData.professionalId || null, medico_id: uiData.professionalId || null, appointment_date: uiData.date, data: uiData.date, appointment_time: uiData.time, hora: uiData.time, type: uiData.type, tipo: uiData.type, mode: uiData.mode, modalidade: uiData.mode, status: uiData.status || 'Confirmada', room: uiData.room, sala: uiData.room, } }, }