import sys
import os

sys.path.insert(0, '/home/vh13236/przydasie')
os.chdir('/home/vh13236/przydasie')
os.environ['DJANGO_SETTINGS_MODULE'] = 'finanse.settings'

import django
django.setup()

from django.db import connection

# Utwórz tabele potrzebne dla Django Admin
with connection.cursor() as cursor:
    cursor.execute("""CREATE TABLE IF NOT EXISTS auth_permission (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name VARCHAR(255) NOT NULL,
        content_type_id INTEGER NOT NULL,
        codename VARCHAR(100) NOT NULL,
        UNIQUE(content_type_id, codename)
    )""")
    cursor.execute("""CREATE TABLE IF NOT EXISTS django_content_type (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        app_label VARCHAR(100) NOT NULL,
        model VARCHAR(100) NOT NULL,
        UNIQUE(app_label, model)
    )""")
    cursor.execute("""CREATE TABLE IF NOT EXISTS auth_user (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        password VARCHAR(128) NOT NULL,
        last_login DATETIME,
        is_superuser BOOL NOT NULL DEFAULT 0,
        username VARCHAR(150) NOT NULL UNIQUE,
        first_name VARCHAR(150) NOT NULL DEFAULT '',
        last_name VARCHAR(150) NOT NULL DEFAULT '',
        email VARCHAR(254) NOT NULL DEFAULT '',
        is_staff BOOL NOT NULL DEFAULT 0,
        is_active BOOL NOT NULL DEFAULT 1,
        date_joined DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
    )""")
    cursor.execute("""CREATE TABLE IF NOT EXISTS auth_user_groups (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        user_id INTEGER NOT NULL REFERENCES auth_user(id),
        group_id INTEGER NOT NULL
    )""")
    cursor.execute("""CREATE TABLE IF NOT EXISTS auth_user_user_permissions (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        user_id INTEGER NOT NULL REFERENCES auth_user(id),
        permission_id INTEGER NOT NULL REFERENCES auth_permission(id)
    )""")
    cursor.execute("""CREATE TABLE IF NOT EXISTS auth_group (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name VARCHAR(150) NOT NULL UNIQUE
    )""")
    cursor.execute("""CREATE TABLE IF NOT EXISTS auth_group_permissions (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        group_id INTEGER NOT NULL REFERENCES auth_group(id),
        permission_id INTEGER NOT NULL REFERENCES auth_permission(id)
    )""")
    cursor.execute("""CREATE TABLE IF NOT EXISTS django_admin_log (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        action_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
        object_id TEXT,
        object_repr VARCHAR(200) NOT NULL,
        action_flag SMALLINT NOT NULL,
        change_message TEXT NOT NULL,
        content_type_id INTEGER REFERENCES django_content_type(id),
        user_id INTEGER NOT NULL REFERENCES auth_user(id)
    )""")

print("Tabele admin utworzone!")

# Utwórz superusera
from django.contrib.auth.hashers import make_password
from django.utils import timezone

with connection.cursor() as cursor:
    # Sprawdź czy już istnieje
    existing = cursor.execute("SELECT id FROM auth_user WHERE username = 'admin'").fetchone()
    if not existing:
        cursor.execute("""
            INSERT INTO auth_user (password, is_superuser, username, first_name, last_name, 
                                   email, is_staff, is_active, date_joined)
            VALUES (?, 1, 'admin', 'Admin', '', 'pgrzondziel@gmail.com', 1, 1, ?)
        """, (make_password('Admin2026!'), timezone.now().isoformat()))
        print("Superuser utworzony!")
        print("Login: admin")
        print("Hasło: Admin2026!")
    else:
        print("Superuser już istnieje.")

print("Gotowe!")
