-- ─── BusCheckIn Datenbank-Setup ─────────────────────────────────────────────
-- Ausführen: mysql -u user -p datenbank < setup.sql
-- Oder direkt in phpMyAdmin / DBeaver einfügen

-- Benutzer-Tabelle
CREATE TABLE IF NOT EXISTS tb_buscheck_users (
    id            INT UNSIGNED    NOT NULL AUTO_INCREMENT,
    username      VARCHAR(50)     NOT NULL UNIQUE,
    password_hash VARCHAR(255)    NOT NULL,          -- bcrypt via PHP password_hash()
    role          ENUM('admin','user') NOT NULL DEFAULT 'user',
    active        TINYINT(1)      NOT NULL DEFAULT 1,
    created_at    DATETIME        NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Token-Tabelle (Sessions)
CREATE TABLE IF NOT EXISTS tb_buscheck_tokens (
    token         VARCHAR(64)     NOT NULL,           -- SHA-256 hex
    user_id       INT UNSIGNED    NOT NULL,
    username      VARCHAR(50)     NOT NULL,
    role          VARCHAR(20)     NOT NULL DEFAULT 'user',
    expires_at    DATETIME        NOT NULL,
    created_at    DATETIME        NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (token),
    INDEX idx_expires (expires_at),
    FOREIGN KEY (user_id) REFERENCES tb_buscheck_users(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ─── Admin-Benutzer anlegen ────────────────────────────────────────────────────
-- Passwort wird von setup.php generiert — NICHT hier im Klartext eintragen!
-- Führe stattdessen aus: php setup.php
