55 lines
1.4 KiB
TypeScript
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();
|