mirror of
https://github.com/johndoe6345789/postgres.git
synced 2026-04-24 13:55:00 +00:00
Add password generator, Caprover deployment, and position as modern legacy tool replacement
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
This commit is contained in:
@@ -2,6 +2,7 @@ import * as bcrypt from 'bcryptjs';
|
||||
import { drizzle } from 'drizzle-orm/node-postgres';
|
||||
import { Pool } from 'pg';
|
||||
import { adminUserSchema } from '../src/models/Schema';
|
||||
import { generateSecurePassword } from './generate-password';
|
||||
|
||||
async function seedAdminUser() {
|
||||
const pool = new Pool({
|
||||
@@ -11,7 +12,15 @@ async function seedAdminUser() {
|
||||
const db = drizzle(pool);
|
||||
|
||||
const username = process.env.ADMIN_USERNAME || 'admin';
|
||||
const password = process.env.ADMIN_PASSWORD || 'admin123';
|
||||
|
||||
// Generate secure password if not provided
|
||||
let password = process.env.ADMIN_PASSWORD;
|
||||
let passwordGenerated = false;
|
||||
|
||||
if (!password) {
|
||||
password = generateSecurePassword(32);
|
||||
passwordGenerated = true;
|
||||
}
|
||||
|
||||
const passwordHash = await bcrypt.hash(password, 10);
|
||||
|
||||
@@ -21,14 +30,20 @@ async function seedAdminUser() {
|
||||
passwordHash,
|
||||
});
|
||||
|
||||
console.log(`Admin user created successfully!`);
|
||||
console.log(`Username: ${username}`);
|
||||
console.log(`Password: ${password}`);
|
||||
console.log('✅ Admin user created successfully!');
|
||||
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
||||
console.log(`📧 Username: ${username}`);
|
||||
console.log(`🔑 Password: ${password}`);
|
||||
if (passwordGenerated) {
|
||||
console.log('⚠️ This password was auto-generated. Save it securely!');
|
||||
}
|
||||
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
||||
console.log('🌐 Login at: http://localhost:3000/admin/login');
|
||||
} catch (error: any) {
|
||||
if (error.code === '23505') {
|
||||
console.log('Admin user already exists');
|
||||
console.log('ℹ️ Admin user already exists');
|
||||
} else {
|
||||
console.error('Error creating admin user:', error);
|
||||
console.error('❌ Error creating admin user:', error);
|
||||
}
|
||||
} finally {
|
||||
await pool.end();
|
||||
|
||||
Reference in New Issue
Block a user