41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import { NestFactory } from '@nestjs/core';
|
||
import { AppModule } from '../src/app.module';
|
||
import { UserService } from '../src/modules/users/user.service';
|
||
import { UserRole } from '../src/modules/entities';
|
||
|
||
async function bootstrap() {
|
||
const app = await NestFactory.createApplicationContext(AppModule);
|
||
const userService = app.get(UserService);
|
||
|
||
try {
|
||
// Check if admin user already exists
|
||
const existingAdmin = await userService.findByUsername('admin');
|
||
if (existingAdmin) {
|
||
console.log('Admin user already exists');
|
||
await app.close();
|
||
return;
|
||
}
|
||
|
||
// Create admin user
|
||
const adminUser = await userService.create({
|
||
username: 'admin',
|
||
email: 'admin@placebo.mk',
|
||
password: 'admin123', // Change this in production!
|
||
role: UserRole.ADMIN,
|
||
isActive: true,
|
||
});
|
||
|
||
console.log('Admin user created successfully:');
|
||
console.log(`Username: ${adminUser.username}`);
|
||
console.log(`Email: ${adminUser.email}`);
|
||
console.log(`Role: ${adminUser.role}`);
|
||
console.log('\n⚠️ IMPORTANT: Change the default password immediately!');
|
||
|
||
} catch (error) {
|
||
console.error('Error creating admin user:', error);
|
||
} finally {
|
||
await app.close();
|
||
}
|
||
}
|
||
|
||
bootstrap(); |