mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-09 10:34:17 +00:00
40 lines
896 B
JavaScript
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,
|
|
}
|