feat: adicionado botão e lógica para exclusão simultânea no logto e supabase

This commit is contained in:
2026-08-18 11:57:24 +00:00
parent dd7d1c41dd
commit a4ea6787b8
2 changed files with 57 additions and 2 deletions
+28
View File
@@ -51,6 +51,33 @@ export interface UserDependency {
}
export function useUserManagement() {
const deleteUserAndLogtoAccount = async (userId: string, email: string) => {
try {
const supabaseUrl = import.meta.env.VITE_SUPABASE_URL;
// 1. Deleta do Logto primeiro
const response = await fetch(`${supabaseUrl}/functions/v1/delete-logto-user`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ email }),
});
if (!response.ok) {
console.error("Failed to delete from Logto", await response.text());
toast.error("Erro ao excluir do Logto. A exclusão no sistema continuará.");
}
// 2. Deleta do Supabase
return await deleteUser(userId, true);
} catch (err) {
console.error(err);
toast.error("Erro na comunicação com o servidor de autenticação");
return false;
}
};
const { user } = useAuth();
const [users, setUsers] = useState<UserProfile[]>([]);
const [pendingUsers, setPendingUsers] = useState<UserProfile[]>([]);
@@ -458,6 +485,7 @@ export function useUserManagement() {
updateUser,
toggleUserStatus,
deleteUser,
deleteUserAndLogtoAccount,
canDeleteUser,
getUserDependencies,
replaceUserWithDeleted,