2025-05-13 12:49:25 +00:00

40 lines
896 B
JavaScript

import { User } from "@db_models"
import bcrypt from "bcrypt"
export default {
description: "Create first root user",
fn: async () => {
// check if any user with includes admin role exists
const adminUser = await User.find({
$or: [{ roles: { $in: ["admin"] } }],
})
if (adminUser.length > 0) {
console.log("Admin user already exists")
return true
}
const defaultUsername = "root"
const defaultPwd = "changemeorgethacked"
let user = new User({
username: defaultUsername,
password: await bcrypt.hash(defaultPwd, 6),
email: "example@comty.app",
roles: ["admin"],
created_at: new Date().getTime(),
accept_tos: true,
activated: true,
})
await user.save()
console.log(
`Root user created. Username: ${defaultUsername}, password: ${defaultPwd}\nPlease change the password after first login!!.`,
)
return true
},
crashOnFail: true,
}