Datenbank bereinigt / Gitea-Integration gefixt
Dieser Commit ist enthalten in:
committet von
Server Deploy
Ursprung
395598c2b0
Commit
c21be47428
87
query_users.js
Normale Datei
87
query_users.js
Normale Datei
@ -0,0 +1,87 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* Script zum Abfragen der Benutzer aus der SQLite-Datenbank
|
||||
* Verwendung: node query_users.js
|
||||
*/
|
||||
|
||||
const Database = require('better-sqlite3');
|
||||
const path = require('path');
|
||||
|
||||
// Datenbank-Pfad - angepasst für Docker-Container
|
||||
const DB_PATH = process.env.DB_PATH || './data/taskmate.db';
|
||||
|
||||
try {
|
||||
console.log('Verbinde zur Datenbank:', DB_PATH);
|
||||
|
||||
// Datenbank öffnen
|
||||
const db = new Database(DB_PATH);
|
||||
|
||||
// Alle Benutzer abfragen
|
||||
const users = db.prepare(`
|
||||
SELECT
|
||||
id,
|
||||
username,
|
||||
display_name,
|
||||
color,
|
||||
role,
|
||||
email,
|
||||
repositories_base_path,
|
||||
created_at,
|
||||
last_login,
|
||||
failed_attempts,
|
||||
locked_until
|
||||
FROM users
|
||||
ORDER BY id
|
||||
`).all();
|
||||
|
||||
console.log('\n=== BENUTZER IN DER DATENBANK ===\n');
|
||||
|
||||
if (users.length === 0) {
|
||||
console.log('Keine Benutzer gefunden!');
|
||||
} else {
|
||||
users.forEach(user => {
|
||||
console.log(`ID: ${user.id}`);
|
||||
console.log(`Benutzername: ${user.username}`);
|
||||
console.log(`Anzeigename: ${user.display_name}`);
|
||||
console.log(`Farbe: ${user.color}`);
|
||||
console.log(`Rolle: ${user.role || 'user'}`);
|
||||
console.log(`E-Mail: ${user.email || 'nicht gesetzt'}`);
|
||||
console.log(`Repository-Basispfad: ${user.repositories_base_path || 'nicht gesetzt'}`);
|
||||
console.log(`Erstellt am: ${user.created_at}`);
|
||||
console.log(`Letzter Login: ${user.last_login || 'noch nie'}`);
|
||||
console.log(`Fehlgeschlagene Versuche: ${user.failed_attempts}`);
|
||||
console.log(`Gesperrt bis: ${user.locked_until || 'nicht gesperrt'}`);
|
||||
console.log('-----------------------------------');
|
||||
});
|
||||
|
||||
console.log(`\nGesamt: ${users.length} Benutzer gefunden`);
|
||||
}
|
||||
|
||||
// Prüfe auch Login-Audit für weitere Informationen
|
||||
const recentAttempts = db.prepare(`
|
||||
SELECT
|
||||
la.timestamp,
|
||||
la.ip_address,
|
||||
la.success,
|
||||
la.user_agent,
|
||||
u.username
|
||||
FROM login_audit la
|
||||
LEFT JOIN users u ON la.user_id = u.id
|
||||
ORDER BY la.timestamp DESC
|
||||
LIMIT 10
|
||||
`).all();
|
||||
|
||||
if (recentAttempts.length > 0) {
|
||||
console.log('\n=== LETZTE LOGIN-VERSUCHE ===\n');
|
||||
recentAttempts.forEach(attempt => {
|
||||
console.log(`${attempt.timestamp}: ${attempt.username || 'Unbekannt'} - ${attempt.success ? 'ERFOLGREICH' : 'FEHLGESCHLAGEN'} - IP: ${attempt.ip_address}`);
|
||||
});
|
||||
}
|
||||
|
||||
// Datenbank schließen
|
||||
db.close();
|
||||
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Abfragen der Datenbank:', error.message);
|
||||
process.exit(1);
|
||||
}
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren