122 lines
3.4 KiB
TypeScript
122 lines
3.4 KiB
TypeScript
// @ts-nocheck
|
|
import { NextRequest, NextResponse } from "next/server";
|
|
import { databases } from "@/lib/appwrite";
|
|
import { Query } from "appwrite";
|
|
|
|
export const runtime = "edge";
|
|
|
|
export async function GET(request: NextRequest) {
|
|
console.log("🔠[API] Debug registro usuario...");
|
|
|
|
try {
|
|
const { searchParams } = new URL(request.url);
|
|
const userId = searchParams.get("userId");
|
|
|
|
if (!userId) {
|
|
return NextResponse.json(
|
|
{ success: false, error: "userId é obrigatório" },
|
|
{ status: 400 }
|
|
);
|
|
}
|
|
|
|
const databaseId = process.env.NEXT_PUBLIC_APPWRITE_DATABASE_ID!;
|
|
const collectionId =
|
|
process.env.NEXT_PUBLIC_APPWRITE_COLLECTION_USUARIOS_ID!;
|
|
|
|
console.log("🔠[API] Buscando usuário com auth-id-appwrite:", userId);
|
|
|
|
// Buscar usuário pelo auth-id-appwrite
|
|
const response = await databases.listDocuments(databaseId, collectionId, [
|
|
Query.equal("auth-id-appwrite", userId),
|
|
Query.limit(1),
|
|
]);
|
|
|
|
if (response.documents.length === 0) {
|
|
console.log("⌠[API] Usuário não encontrado");
|
|
return NextResponse.json({
|
|
success: true,
|
|
found: false,
|
|
message: "Usuário não encontrado na base de dados",
|
|
});
|
|
}
|
|
|
|
const usuario = response.documents[0];
|
|
|
|
console.log("✅ [API] Usuário encontrado:", usuario.$id);
|
|
|
|
// Análise detalhada dos dados
|
|
const analise = {
|
|
id: usuario.$id,
|
|
"auth-id-appwrite": usuario["auth-id-appwrite"],
|
|
"nome-civil": {
|
|
valor: usuario["nome-civil"],
|
|
preenchido: !!usuario["nome-civil"],
|
|
},
|
|
cpf: {
|
|
valor: usuario.cpf,
|
|
preenchido: !!usuario.cpf,
|
|
},
|
|
enderecos: {
|
|
valor: usuario.enderecos,
|
|
tipo: typeof usuario.enderecos,
|
|
isArray: Array.isArray(usuario.enderecos),
|
|
length: usuario.enderecos?.length || 0,
|
|
valido:
|
|
Array.isArray(usuario.enderecos) &&
|
|
usuario.enderecos.length > 0 &&
|
|
usuario.enderecos.some(
|
|
(endereco) => endereco && endereco.trim() !== ""
|
|
),
|
|
},
|
|
empresas_array: {
|
|
valor: usuario.empresas_array,
|
|
tipo: typeof usuario.empresas_array,
|
|
isArray: Array.isArray(usuario.empresas_array),
|
|
length: usuario.empresas_array?.length || 0,
|
|
valido:
|
|
usuario.empresas_array &&
|
|
Array.isArray(usuario.empresas_array) &&
|
|
usuario.empresas_array.length > 0,
|
|
},
|
|
};
|
|
|
|
const dadosFaltantes = [];
|
|
|
|
// Verificar cada campo
|
|
if (!analise["nome-civil"].preenchido || !analise.cpf.preenchido) {
|
|
dadosFaltantes.push("Dados pessoais");
|
|
}
|
|
|
|
if (!analise.enderecos.valido) {
|
|
dadosFaltantes.push("Endereço");
|
|
}
|
|
|
|
if (!analise.empresas_array.valido) {
|
|
dadosFaltantes.push("Empresa");
|
|
}
|
|
|
|
const isCompleto = dadosFaltantes.length === 0;
|
|
|
|
console.log("📋 [API] Análise completa:", {
|
|
isCompleto,
|
|
dadosFaltantes,
|
|
analise,
|
|
});
|
|
|
|
return NextResponse.json({
|
|
success: true,
|
|
found: true,
|
|
isCompleto,
|
|
dadosFaltantes,
|
|
analise,
|
|
dadosCompletos: usuario,
|
|
});
|
|
} catch (error) {
|
|
console.error("⌠[API] Erro ao debugar registro:", error);
|
|
return NextResponse.json(
|
|
{ success: false, error: "Erro ao verificar registro" },
|
|
{ status: 500 }
|
|
);
|
|
}
|
|
}
|
|
|