feat: add create user script

This commit is contained in:
Kailasdevdas
2026-04-21 11:50:48 +05:30
parent 69d6d5a8f3
commit 64d720143e
3 changed files with 50 additions and 3 deletions
+2 -1
View File
@@ -8,7 +8,8 @@
"start": "node src/app.js",
"prisma": "prisma",
"migrate": "npx prisma migrate dev",
"generate": "npx prisma generate"
"generate": "npx prisma generate",
"create-user": "node src/utils/createUser.js"
},
"keywords": [],
"author": "",
+1 -2
View File
@@ -1,9 +1,8 @@
import express from "express";
import {register, login} from "../controllers/auth.controller.js";
import { login } from "../controllers/auth.controller.js";
const router = express.Router();
router.post("/register", register);
router.post("/login", login);
export default router;
+47
View File
@@ -0,0 +1,47 @@
import prisma from "../prisma/client.js";
import { hashPassword } from "./password.js";
async function main() {
const username = process.argv[2];
const password = process.argv[3];
const role = process.argv[4] || "admin";
if (!username || !password) {
console.log(
"Usage: node scripts/createUser.js <username> <password> [role]",
);
process.exit(1);
}
const existingUser = await prisma.user.findUnique({
where: { username },
});
if (existingUser) {
console.log("User already exists");
process.exit(1);
}
const hashedPassword = await hashPassword(password);
const user = await prisma.user.create({
data: {
username,
password: hashedPassword,
role,
},
});
console.log("User created:", {
id: user.id,
username: user.username,
role: user.role,
});
}
main()
.catch((e) => {
console.error(e);
})
.finally(async () => {
await prisma.$disconnect();
});