Files
advx/scripts/create_admin_user.ts
T
rodrigo 5acec6b71e Lint errors
Signed-off-by: Rodrigo Martins <rodrigo.sousa.577@gmail.com>
2025-04-12 20:32:39 -03:00

55 lines
1.4 KiB
TypeScript

import { PrismaClient, PerfilUsuario } from "@prisma/client";
import bcrypt from "bcryptjs";
import dotenv from "dotenv";
dotenv.config();
const prisma = new PrismaClient();
async function createAdminUser() {
try {
const adminData = {
nome: "Rodrigo Bertoldo de Sousa Martins",
email: "rodrigo@martinsevieira.adv.br",
senha: await bcrypt.hash("34641747", 10),
perfil: PerfilUsuario.ADVOGADO_ADMIN,
ativo: true,
cpf: "06116321100",
oab: "12774",
oabUF: "TO",
};
console.log("Tentando criar/atualizar usuário admin...");
// Verifica se já existe na tabela usuarios
const existingAdmin = await prisma.usuario.findUnique({
where: { email: adminData.email },
});
if (existingAdmin) {
console.log("Usuário admin já existe. Atualizando...");
await prisma.usuario.update({
where: { email: adminData.email },
data: adminData,
});
console.log("Admin atualizado com sucesso!");
} else {
console.log("Criando novo usuário admin...");
await prisma.usuario.create({
data: adminData,
});
console.log("Novo admin criado com sucesso!");
}
console.log("\nCredenciais de acesso:");
console.log("Email:", adminData.email);
console.log("Senha: 34641747");
} catch (error) {
console.error("Erro ao criar/atualizar usuário admin:", error);
} finally {
await prisma.$disconnect();
}
}
createAdminUser();