- Source-Copy von /root/entwicklung/pfandsystem - docker-compose.yml umgeschrieben: pfandsystem-demo-* Container, Ports 3308/8083/3003 (alle localhost) - Traefik-Label fuer pfandsystem.dockly.de - Erweitertes Multi-Tenant-Schema (tenants, tenant_id auf allen Tabellen) - Neue Tabellen: kunden_bilder, geraete - Neue Spalten: kunden.anlieferungshinweis, kunden.lieferzeit_bis - Rollen: superadmin, admin, user, fahrer - .env.example + README Code-Refactor (Tailwind, Multi-Tenant-Middleware, Erweiterungen) folgt.
57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
import bcrypt from 'bcrypt';
|
|
import mysql from 'mysql2/promise';
|
|
import dotenv from 'dotenv';
|
|
|
|
dotenv.config();
|
|
|
|
async function createAdmin() {
|
|
const connection = await mysql.createConnection({
|
|
host: process.env.DB_HOST || 'localhost',
|
|
port: process.env.DB_PORT || 3306,
|
|
user: process.env.DB_USER || 'pfandsystem',
|
|
password: process.env.DB_PASSWORD || 'pfandsystem_secure_password',
|
|
database: process.env.DB_NAME || 'pfandsystem'
|
|
});
|
|
|
|
console.log('✅ Verbindung zur Datenbank hergestellt');
|
|
|
|
// Admin-Daten
|
|
const email = 'admin@pfandsystem.de';
|
|
const password = 'admin123'; // BITTE ÄNDERN!
|
|
const name = 'Administrator';
|
|
const rolle = 'admin';
|
|
|
|
// Prüfe ob Admin bereits existiert
|
|
const [existing] = await connection.query(
|
|
'SELECT id FROM mitarbeiter WHERE email = ?',
|
|
[email]
|
|
);
|
|
|
|
if (existing.length > 0) {
|
|
console.log('⚠️ Admin-Benutzer existiert bereits!');
|
|
await connection.end();
|
|
return;
|
|
}
|
|
|
|
// Passwort hashen
|
|
const passwordHash = await bcrypt.hash(password, 10);
|
|
|
|
// Admin anlegen
|
|
await connection.query(
|
|
'INSERT INTO mitarbeiter (email, password_hash, name, rolle) VALUES (?, ?, ?, ?)',
|
|
[email, passwordHash, name, rolle]
|
|
);
|
|
|
|
console.log('✅ Admin-Benutzer erfolgreich angelegt!');
|
|
console.log('📧 Email:', email);
|
|
console.log('🔑 Passwort:', password);
|
|
console.log('⚠️ BITTE PASSWORT NACH DEM ERSTEN LOGIN ÄNDERN!');
|
|
|
|
await connection.end();
|
|
}
|
|
|
|
createAdmin().catch(err => {
|
|
console.error('❌ Fehler:', err);
|
|
process.exit(1);
|
|
});
|