Initialize the API and add managed app banners.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
/**
|
||||
* ادمینهای قبلی را پاک میکند و فقط یک ادمین میسازد.
|
||||
* داخل کانتینر API:
|
||||
* node scripts/reset-admin.mjs
|
||||
* یا با DATABASE_URL محلی:
|
||||
* node scripts/reset-admin.mjs
|
||||
*/
|
||||
const { PrismaClient } = require('@prisma/client');
|
||||
const bcrypt = require('bcryptjs');
|
||||
|
||||
const PHONE = process.env.ADMIN_PHONE || '09128081392';
|
||||
const PASSWORD = process.env.ADMIN_PASSWORD || '123456';
|
||||
const FULL_NAME = process.env.ADMIN_NAME || 'مدیر سیستم';
|
||||
|
||||
async function main() {
|
||||
const prisma = new PrismaClient();
|
||||
try {
|
||||
const passwordHash = await bcrypt.hash(PASSWORD, 10);
|
||||
await prisma.$transaction([
|
||||
prisma.adminUser.deleteMany({}),
|
||||
prisma.adminUser.create({
|
||||
data: {
|
||||
id: 'usr-1',
|
||||
fullName: FULL_NAME,
|
||||
phone: PHONE,
|
||||
email: 'admin@parche.ir',
|
||||
passwordHash,
|
||||
role: 'admin',
|
||||
isActive: true,
|
||||
},
|
||||
}),
|
||||
prisma.internalMessage.deleteMany({}),
|
||||
]);
|
||||
console.log(`Admin reset OK: ${PHONE} / ${PASSWORD}`);
|
||||
} finally {
|
||||
await prisma.$disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
main().catch((err) => {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user