sistema-de-chamados/web/scripts/seed-auth.mjs
esdrasrenan 7946b8d017 feat: migrate auth stack and admin portal
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2025-10-05 17:25:57 -03:00

57 lines
1.4 KiB
JavaScript

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()
})