Massdownload
This commit is contained in:
38
reset-db.js
38
reset-db.js
@@ -38,6 +38,8 @@ try {
|
||||
personalnummer TEXT,
|
||||
wochenstunden REAL,
|
||||
urlaubstage REAL,
|
||||
overtime_offset_hours REAL DEFAULT 0,
|
||||
ping_ip TEXT,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
)`, (err) => {
|
||||
if (err) console.error('Fehler bei users:', err);
|
||||
@@ -71,6 +73,9 @@ try {
|
||||
activity5_project_number TEXT,
|
||||
overtime_taken_hours REAL,
|
||||
vacation_type TEXT,
|
||||
sick_status INTEGER DEFAULT 0,
|
||||
pause_start_time TEXT,
|
||||
pause_end_time TEXT,
|
||||
status TEXT DEFAULT 'offen',
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
@@ -138,6 +143,21 @@ try {
|
||||
else console.log('✅ Tabelle ldap_sync_log erstellt');
|
||||
});
|
||||
|
||||
// Ping-Status-Tabelle für IP-basierte Zeiterfassung
|
||||
db.run(`CREATE TABLE ping_status (
|
||||
user_id INTEGER NOT NULL,
|
||||
date TEXT NOT NULL,
|
||||
last_successful_ping DATETIME,
|
||||
failed_ping_count INTEGER DEFAULT 0,
|
||||
start_time_set INTEGER DEFAULT 0,
|
||||
first_failed_ping_time DATETIME,
|
||||
PRIMARY KEY (user_id, date),
|
||||
FOREIGN KEY (user_id) REFERENCES users(id)
|
||||
)`, (err) => {
|
||||
if (err) console.error('Fehler bei ping_status:', err);
|
||||
else console.log('✅ Tabelle ping_status erstellt');
|
||||
});
|
||||
|
||||
// Warte bis alle Tabellen erstellt sind
|
||||
db.run('SELECT 1', (err) => {
|
||||
if (err) {
|
||||
@@ -147,29 +167,29 @@ try {
|
||||
|
||||
console.log('\n👤 Erstelle Standard-Benutzer...\n');
|
||||
|
||||
// Standard Admin-Benutzer
|
||||
// Standard Admin-Benutzer (Rolle als JSON-Array)
|
||||
const adminPassword = bcrypt.hashSync('admin123', 10);
|
||||
db.run(`INSERT INTO users (id, username, password, firstname, lastname, role)
|
||||
VALUES (1, 'admin', ?, 'System', 'Administrator', 'admin')`,
|
||||
[adminPassword], (err) => {
|
||||
VALUES (1, 'admin', ?, 'System', 'Administrator', ?)`,
|
||||
[adminPassword, JSON.stringify(['admin'])], (err) => {
|
||||
if (err) console.error('Fehler beim Erstellen des Admin-Users:', err);
|
||||
else console.log('✅ Admin-User erstellt (admin / admin123)');
|
||||
});
|
||||
|
||||
// Standard Verwaltungs-Benutzer
|
||||
// Standard Verwaltungs-Benutzer (Rolle als JSON-Array)
|
||||
const verwaltungPassword = bcrypt.hashSync('verwaltung123', 10);
|
||||
db.run(`INSERT INTO users (id, username, password, firstname, lastname, role)
|
||||
VALUES (2, 'verwaltung', ?, 'Verwaltung', 'User', 'verwaltung')`,
|
||||
[verwaltungPassword], (err) => {
|
||||
VALUES (2, 'verwaltung', ?, 'Verwaltung', 'User', ?)`,
|
||||
[verwaltungPassword, JSON.stringify(['verwaltung'])], (err) => {
|
||||
if (err) console.error('Fehler beim Erstellen des Verwaltungs-Users:', err);
|
||||
else console.log('✅ Verwaltungs-User erstellt (verwaltung / verwaltung123)');
|
||||
});
|
||||
|
||||
// Test-Mitarbeiter (optional)
|
||||
// Test-Mitarbeiter (optional, Rolle als JSON-Array)
|
||||
const mitarbeiterPassword = bcrypt.hashSync('test123', 10);
|
||||
db.run(`INSERT INTO users (id, username, password, firstname, lastname, role, wochenstunden, urlaubstage)
|
||||
VALUES (3, 'test', ?, 'Test', 'Mitarbeiter', 'mitarbeiter', 40, 25)`,
|
||||
[mitarbeiterPassword], (err) => {
|
||||
VALUES (3, 'test', ?, 'Test', 'Mitarbeiter', ?, 40, 25)`,
|
||||
[mitarbeiterPassword, JSON.stringify(['mitarbeiter'])], (err) => {
|
||||
if (err && !err.message.includes('UNIQUE constraint')) {
|
||||
console.error('Fehler beim Erstellen des Test-Users:', err);
|
||||
} else if (!err) {
|
||||
|
||||
Reference in New Issue
Block a user