chore: iniciar branch feature/api-atribuições

This commit is contained in:
M-Gabrielly 2025-10-08 20:28:14 -03:00
parent 0a7d3f3ae4
commit 09ce9b1f49
3 changed files with 21 additions and 10 deletions

View File

@ -0,0 +1,8 @@
{
"printWidth": 80,
"tabWidth": 2,
"singleQuote": false,
"trailingComma": "all",
"semi": true,
"endOfLine": "auto"
}

3
susconecta/.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
}

View File

@ -466,7 +466,7 @@ export async function buscarMedicoPorId(id: string | number): Promise<Medico> {
specialty: (arr[0] as any).specialty, specialty: (arr[0] as any).specialty,
hasEspecialidade: !!arr[0].especialidade, hasEspecialidade: !!arr[0].especialidade,
hasSpecialty: !!((arr[0] as any).specialty) hasSpecialty: !!((arr[0] as any).specialty)
}); console.log('Médico encontrado no Supabase:', arr[0]);
return arr[0]; return arr[0];
} }
} catch (error) { } catch (error) {
@ -497,7 +497,7 @@ export async function buscarMedicoPorId(id: string | number): Promise<Medico> {
console.error('❌ Erro ao buscar médico em ambas as APIs:', error); console.error('❌ Erro ao buscar médico em ambas as APIs:', error);
throw new Error("404: Médico não encontrado"); throw new Error("404: Médico não encontrado");
} }
} console.log('Médico encontrado no Mock API:', medico);
// Dentro de lib/api.ts // Dentro de lib/api.ts
export async function criarMedico(input: MedicoInput): Promise<Medico> { export async function criarMedico(input: MedicoInput): Promise<Medico> {
@ -506,7 +506,7 @@ export async function criarMedico(input: MedicoInput): Promise<Medico> {
const url = `${REST}/doctors`; // Endpoint de médicos const url = `${REST}/doctors`; // Endpoint de médicos
const res = await fetch(url, { const res = await fetch(url, {
method: "POST", method: "POST",
headers: withPrefer({ ...baseHeaders(), "Content-Type": "application/json" }, "return=representation"), console.log("Enviando os dados para a API:", input);
body: JSON.stringify(input), // Enviando os dados padronizados body: JSON.stringify(input), // Enviando os dados padronizados
}); });
@ -520,8 +520,8 @@ export async function criarMedico(input: MedicoInput): Promise<Medico> {
export async function atualizarMedico(id: string | number, input: MedicoInput): Promise<Medico> { export async function atualizarMedico(id: string | number, input: MedicoInput): Promise<Medico> {
console.log(`🔄 Tentando atualizar médico ID: ${id}`); console.log(`🔄 Tentando atualizar médico ID: ${id}`);
console.log(`📤 Payload original:`, input); console.log(`📤 Payload original:`, input);
console.log(`Tentando atualizar médico ID: ${id}`);
// Criar um payload limpo apenas com campos básicos que sabemos que existem console.log(`Payload original:`, input);
const cleanPayload = { const cleanPayload = {
full_name: input.full_name, full_name: input.full_name,
crm: input.crm, crm: input.crm,
@ -539,12 +539,12 @@ export async function atualizarMedico(id: string | number, input: MedicoInput):
console.log(`📤 Payload limpo:`, cleanPayload); console.log(`📤 Payload limpo:`, cleanPayload);
// Atualizar apenas no Supabase (dados reais) console.log(`Payload limpo:`, cleanPayload);
try { try {
const url = `${REST}/doctors?id=eq.${id}`; const url = `${REST}/doctors?id=eq.${id}`;
console.log(`🌐 URL de atualização: ${url}`); console.log(`🌐 URL de atualização: ${url}`);
const res = await fetch(url, { console.log(`URL de atualização: ${url}`);
method: "PATCH", method: "PATCH",
headers: withPrefer({ ...baseHeaders(), "Content-Type": "application/json" }, "return=representation"), headers: withPrefer({ ...baseHeaders(), "Content-Type": "application/json" }, "return=representation"),
body: JSON.stringify(cleanPayload), body: JSON.stringify(cleanPayload),
@ -552,12 +552,12 @@ export async function atualizarMedico(id: string | number, input: MedicoInput):
console.log(`📡 Resposta do servidor: ${res.status} ${res.statusText}`); console.log(`📡 Resposta do servidor: ${res.status} ${res.statusText}`);
if (res.ok) { console.log(`Resposta do servidor: ${res.status} ${res.statusText}`);
const arr = await parse<Medico[] | Medico>(res); const arr = await parse<Medico[] | Medico>(res);
const result = Array.isArray(arr) ? arr[0] : (arr as Medico); const result = Array.isArray(arr) ? arr[0] : (arr as Medico);
console.log('✅ Médico atualizado no Supabase:', result); console.log('✅ Médico atualizado no Supabase:', result);
return result; return result;
} else { console.log('Médico atualizado no Supabase:', result);
// Vamos tentar ver o erro detalhado // Vamos tentar ver o erro detalhado
const errorText = await res.text(); const errorText = await res.text();
console.error(`❌ Erro detalhado do Supabase:`, { console.error(`❌ Erro detalhado do Supabase:`, {
@ -934,7 +934,7 @@ export async function criarUsuarioPaciente(paciente: {
console.warn('⚠️ [CRIAR PACIENTE] Email NÃO confirmado - tentando auto-confirmar via login...'); console.warn('⚠️ [CRIAR PACIENTE] Email NÃO confirmado - tentando auto-confirmar via login...');
try { try {
const loginUrl = `${ENV_CONFIG.SUPABASE_URL}/auth/v1/token?grant_type=password`; const loginUrl = `${ENV_CONFIG.SUPABASE_URL}/auth/v1/token?grant_type=senha762!`;
console.log('🔧 [AUTO-CONFIRMAR] Fazendo login automático para confirmar email...'); console.log('🔧 [AUTO-CONFIRMAR] Fazendo login automático para confirmar email...');
const loginResponse = await fetch(loginUrl, { const loginResponse = await fetch(loginUrl, {