388e9a4186
Modulo 3 da Fase 1. 6 arquivos novos em features/patients/prontuario/: services (_tenantGuards, clinicalNotesSelects, clinicalNotesRepository, clinicalNoteTemplatesRepository) + composables (useClinicalNotes, useClinicalNoteTemplates). Ativa quando migrations 0.5.B (clinical_notes tables/rls/versioning + documents link) forem aplicadas no banco. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
26 lines
981 B
JavaScript
26 lines
981 B
JavaScript
/*
|
|
|--------------------------------------------------------------------------
|
|
| Agência PSI
|
|
|--------------------------------------------------------------------------
|
|
| Arquivo: src/features/patients/prontuario/services/_tenantGuards.js
|
|
|
|
|
| Guards compartilhados pelos repositories do prontuário clínico.
|
|
| Pattern canônico — ver blueprints/repository-blueprint.md seção 3.
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
import { supabase } from '@/lib/supabase/client';
|
|
|
|
export function assertTenantId(tenantId) {
|
|
if (!tenantId || tenantId === 'null' || tenantId === 'undefined') {
|
|
throw new Error('Tenant ativo inválido. Selecione a clínica/tenant antes de operar no prontuário.');
|
|
}
|
|
}
|
|
|
|
export async function getUid() {
|
|
const { data, error } = await supabase.auth.getUser();
|
|
if (error) throw error;
|
|
const uid = data?.user?.id;
|
|
if (!uid) throw new Error('Usuário não autenticado.');
|
|
return uid;
|
|
}
|