diff --git a/fill-database.sql b/fill-database.sql index 9c610fe..e433ac8 100644 --- a/fill-database.sql +++ b/fill-database.sql @@ -1,3 +1,61 @@ -INSERT INTO users (username, password, role) VALUES ('admin', 'hashed_password', 'admin'); +-- Schema for clue_hunt.db + +-- Drop tables if they exist +DROP TABLE IF EXISTS clues; +DROP TABLE IF EXISTS users; +DROP TABLE IF EXISTS teams; +DROP TABLE IF EXISTS game_settings; + +-- Users table +CREATE TABLE users ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + username TEXT UNIQUE NOT NULL, + password TEXT NOT NULL, + role TEXT NOT NULL DEFAULT 'user', + team_id INTEGER, -- Ensure this column exists + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (team_id) REFERENCES teams(id) +); + +-- Teams table +CREATE TABLE teams ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + code TEXT UNIQUE NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Clues table +CREATE TABLE clues ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + description TEXT NOT NULL, + team_id INTEGER NOT NULL, + found BOOLEAN DEFAULT FALSE, + found_at TIMESTAMP, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (team_id) REFERENCES teams(id) +); + +-- Game settings table +CREATE TABLE game_settings ( + id INTEGER PRIMARY KEY, + hunt_active BOOLEAN DEFAULT FALSE, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Insert initial admin user +INSERT INTO users (username, password, role) +VALUES ('admin', '$2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy', 'admin'); +-- Password is 'password123' - change this in production! + +-- Insert sample teams INSERT INTO teams (name, code) VALUES ('Team Alpha', 'ALPHA123'); -INSERT INTO clues (description, team_id) VALUES ('Find the red door', 1); \ No newline at end of file +INSERT INTO teams (name, code) VALUES ('Team Beta', 'BETA456'); +INSERT INTO teams (name, code) VALUES ('Team Gamma', 'GAMMA789'); + +-- Insert sample clues for Team Alpha +INSERT INTO clues (description, team_id) VALUES ('Find the red door', 1); +INSERT INTO clues (description, team_id) VALUES ('Look under the bridge', 1); +INSERT INTO clues (description, team_id) VALUES ('Check the library', 1); + diff --git a/identifier.sqlite b/identifier.sqlite deleted file mode 100644 index 182b641..0000000 Binary files a/identifier.sqlite and /dev/null differ