feat(biomedico): catálogo próprio de biomedicina estética (CRUD + ativar/desativar)
- reverte bloqueio anterior: biomédico GERENCIA especialidades/procedimentos do seu consultório (workspace pessoal já criado no cadastro) - acesso liberado p/ o papel biomédico (menu + permissão) - coluna 'ativo' em especialidades/procedimentos + toggle ativar/desativar na UI - auto-seed do catálogo de biomedicina estética (botox, preenchimento, bioestimulador, peeling, microagulhamento, etc.) no cadastro do biomédico + endpoint idempotente /api/me/seed-biomedicina (restrito ao papel biomédico) p/ contas existentes - valor por procedimento já suportado (valorparticular) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -725,6 +725,20 @@ export const HybridBackend = {
|
||||
return await res.json();
|
||||
},
|
||||
|
||||
// Semeia o catálogo de biomedicina estética no workspace ativo (idempotente).
|
||||
seedBiomedicina: async (): Promise<boolean> => {
|
||||
const clinicaId = HybridBackend.getActiveWorkspace()?.id || '';
|
||||
if (!clinicaId) return false;
|
||||
try {
|
||||
const res = await apiFetch(`${API_URL}/me/seed-biomedicina`, {
|
||||
method: 'POST', headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ clinicaId }),
|
||||
});
|
||||
const d = await res.json();
|
||||
return !!d?.seeded;
|
||||
} catch { return false; }
|
||||
},
|
||||
|
||||
getProcedimentos: async (): Promise<Procedimento[]> => {
|
||||
const clinicaId = HybridBackend.getActiveWorkspace()?.id || '';
|
||||
const res = await apiFetch(`${API_URL}/procedimentos${clinicaId ? `?clinicaId=${clinicaId}` : ''}`);
|
||||
|
||||
Reference in New Issue
Block a user