import { PrismaClient } from "@prisma/client" import { hashPassword } from "better-auth/crypto" const prisma = new PrismaClient() const email = process.env.SEED_USER_EMAIL ?? "admin@sistema.dev" const password = process.env.SEED_USER_PASSWORD ?? "admin123" const name = process.env.SEED_USER_NAME ?? "Administrador" const role = process.env.SEED_USER_ROLE ?? "admin" const tenantId = process.env.SEED_USER_TENANT ?? "default" async function main() { const hashedPassword = await hashPassword(password) const user = await prisma.authUser.upsert({ where: { email }, update: { name, role, tenantId, }, create: { email, name, role, tenantId, accounts: { create: { providerId: "email", accountId: email, password: hashedPassword, }, }, }, include: { accounts: true, }, }) const account = user.accounts[0] console.log(`✅ Usuario seed criado/atualizado: ${user.email}`) console.log(` ID: ${user.id}`) console.log(` Role: ${user.role}`) console.log(` Tenant: ${user.tenantId ?? "(nenhum)"}`) console.log(` Provider: ${account?.providerId ?? "-"}`) console.log(`Senha provisoria: ${password}`) } main() .catch((error) => { console.error("Erro ao criar usuario seed", error) process.exitCode = 1 }) .finally(async () => { await prisma.$disconnect() })