{"tables":[{"name":"users","sql":"CREATE TABLE users (\n            id INTEGER PRIMARY KEY AUTOINCREMENT,\n            username TEXT UNIQUE NOT NULL,\n            password TEXT NOT NULL,\n            email TEXT,\n            is_admin BOOLEAN DEFAULT 0\n        )"},{"name":"sqlite_sequence","sql":"CREATE TABLE sqlite_sequence(name,seq)"},{"name":"products","sql":"CREATE TABLE products (\n            id INTEGER PRIMARY KEY AUTOINCREMENT,\n            name TEXT NOT NULL,\n            description TEXT,\n            price REAL NOT NULL,\n            image_url TEXT\n        )"},{"name":"orders","sql":"CREATE TABLE orders (\n            id INTEGER PRIMARY KEY AUTOINCREMENT,\n            user_id INTEGER NOT NULL,\n            product_id INTEGER NOT NULL,\n            quantity INTEGER DEFAULT 1,\n            total REAL NOT NULL,\n            created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, note TEXT,\n            FOREIGN KEY (user_id) REFERENCES users(id),\n            FOREIGN KEY (product_id) REFERENCES products(id)\n        )"},{"name":"secrets","sql":"CREATE TABLE secrets (\n            id INTEGER PRIMARY KEY AUTOINCREMENT,\n            name TEXT NOT NULL,\n            value TEXT NOT NULL\n        )"},{"name":"flags","sql":"CREATE TABLE flags (\n            id INTEGER PRIMARY KEY AUTOINCREMENT,\n            slug TEXT UNIQUE NOT NULL,\n            name TEXT NOT NULL,\n            category TEXT NOT NULL,\n            hint TEXT NOT NULL,\n            flag_hash TEXT NOT NULL\n        )"},{"name":"submissions","sql":"CREATE TABLE submissions (\n            id INTEGER PRIMARY KEY AUTOINCREMENT,\n            player TEXT NOT NULL,\n            flag_id INTEGER NOT NULL,\n            submitted_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n            UNIQUE(player, flag_id),\n            FOREIGN KEY (flag_id) REFERENCES flags(id)\n        )"},{"name":"reset_tokens","sql":"CREATE TABLE reset_tokens (\n            email TEXT PRIMARY KEY,\n            token TEXT NOT NULL\n        )"}]}
