M2: patients — selects + repository + 8 composables refatorados
Modulo 2 da Fase 1 de padronizacao em batch unico. patientsSelects.js nova com 11 constantes de select. patientsRepository.js estendido com ~15 funcoes novas (markIntakeConverted, list/get/update por contexto, etc). 8 composables refatorados em paralelo (usePatients, useDetail, Financial, Sessions, Messages, Documents, Recurrences, SupportContacts) — zero supabase.from() em qualquer composable de patients. _lastPatientId movido pra DENTRO das functions nos 3 composables que tinham. CadastrosRecebidosPage + MelissaCadastros Recebidos pegam carona dos selects. Aguarda teste batch consolidado. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -17,6 +17,9 @@
|
||||
<script setup>
|
||||
import { supabase } from '@/lib/supabase/client';
|
||||
import { useTenantStore } from '@/stores/tenantStore';
|
||||
// Fase 2 (Graphify hotspot): convertToPatient duplicado em 2 pages — INSERT/UPDATE
|
||||
// extraídos pro repository pra remover duplicação.
|
||||
import { createPatient, markIntakeConverted } from '@/features/patients/services/patientsRepository';
|
||||
import { logError } from '@/support/supportLogger';
|
||||
import { useConfirm } from 'primevue/useconfirm';
|
||||
import { useToast } from 'primevue/usetoast';
|
||||
@@ -402,13 +405,13 @@ async function convertToPatient() {
|
||||
if (patientPayload[k] === undefined) delete patientPayload[k];
|
||||
});
|
||||
|
||||
const { data: created, error: insErr } = await supabase.from('patients').insert(patientPayload).select('id').single();
|
||||
if (insErr) throw insErr;
|
||||
// Repository chamadas (Fase 2 — convertToPatient de-dup).
|
||||
// patientsRepository.createPatient strip owner_id do payload + sempre injeta auth.uid().
|
||||
const created = await createPatient(patientPayload);
|
||||
const patientId = created?.id;
|
||||
if (!patientId) throw new Error('Falha ao obter ID do paciente criado.');
|
||||
|
||||
const { error: upErr } = await supabase.from('patient_intake_requests').update({ status: 'converted', converted_patient_id: patientId, updated_at: new Date().toISOString() }).eq('id', item.id);
|
||||
if (upErr) throw upErr;
|
||||
await markIntakeConverted(item.id, patientId);
|
||||
|
||||
toast.add({ severity: 'success', summary: 'Convertido', detail: 'Cadastro convertido em paciente.', life: 2500 });
|
||||
dlg.value.open = false;
|
||||
|
||||
Reference in New Issue
Block a user