#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sqlite3
import os
from werkzeug.security import generate_password_hash
from datetime import datetime

# Prüfen, ob die Datenbank existiert
db_path = 'systades.db'
if not os.path.exists(db_path):
    print(f"Datenbank {db_path} existiert nicht.")
    exit(1)

# Verbindung zur Datenbank herstellen
conn = sqlite3.connect(db_path)
cursor = conn.cursor()

# Überprüfen, ob bereits Benutzer vorhanden sind
cursor.execute("SELECT COUNT(*) FROM user;")
user_count = cursor.fetchone()[0]

if user_count == 0:
    print("Keine Benutzer in der Datenbank gefunden. Erstelle Standardbenutzer...")

    # Standardbenutzer definieren
    default_users = [
        {
            'username': 'admin',
            'email': 'admin@example.com',
            'password': generate_password_hash('admin'),
            'created_at': datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S'),
            'is_active': 1,
            'role': 'admin'
        },
        {
            'username': 'user',
            'email': 'user@example.com',
            'password': generate_password_hash('user'),
            'created_at': datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S'),
            'is_active': 1,
            'role': 'user'
        }
    ]

    # Benutzer einfügen
    for user in default_users:
        cursor.execute("""
        INSERT INTO user (username, email, password, created_at, is_active, role)
        VALUES (?, ?, ?, ?, ?, ?);
        """, (
            user['username'],
            user['email'],
            user['password'],
            user['created_at'],
            user['is_active'],
            user['role']
        ))
    conn.commit()
    print(f"{len(default_users)} Standardbenutzer wurden erstellt.")
else:
    print(f"Es sind bereits {user_count} Benutzer in der Datenbank vorhanden.")

# Überprüfen der eingefügten Benutzer
print("\nBenutzer in der Datenbank:")
cursor.execute("SELECT id, username, email, role FROM user;")
users = cursor.fetchall()
for user in users:
    print(f"ID: {user[0]}, Benutzername: {user[1]}, E-Mail: {user[2]}, Rolle: {user[3]}")

conn.close()
print("\nBenutzeraktualisierung abgeschlossen.") 