SQL

SQL runs automatically, but if it doesn't start automatically, use this code.

CREATE TABLE IF NOT EXISTS warehouses (
            warehouse_id INT PRIMARY KEY,
            owner VARCHAR(255),
            expiry_time BIGINT,
            unlocked TINYINT(1) DEFAULT 0,
            last_entry_x FLOAT,
            last_entry_y FLOAT,
            last_entry_z FLOAT,
            last_entry_heading FLOAT,
            co_owners TEXT,
            password VARCHAR(255),
            alarm_enabled TINYINT(1) DEFAULT 0,
            entry_webhook VARCHAR(500),
            payment_webhook VARCHAR(500),
            alarm_webhook VARCHAR(500)
        )

CREATE TABLE IF NOT EXISTS warehouse_co_owners (
            id INT AUTO_INCREMENT PRIMARY KEY,
            warehouse_id INT,
            owner_identifier VARCHAR(255),
            co_owner_identifier VARCHAR(255),
            nickname VARCHAR(255),
            added_date DATETIME DEFAULT CURRENT_TIMESTAMP
        )

CREATE TABLE IF NOT EXISTS warehouse_access_logs (
            id INT AUTO_INCREMENT PRIMARY KEY,
            warehouse_id INT,
            player_identifier VARCHAR(255),
            player_name VARCHAR(255),
            access_time DATETIME DEFAULT CURRENT_TIMESTAMP,
            access_type ENUM('entry', 'exit') DEFAULT 'entry'
        )

CREATE TABLE IF NOT EXISTS warehouse_settings (
            warehouse_id INT PRIMARY KEY,
            alarm_enabled TINYINT(1) DEFAULT 0,
            entry_webhook VARCHAR(500),
            alarm_webhook VARCHAR(500),
            payment_webhook VARCHAR(500)
        )

CREATE TABLE IF NOT EXISTS warehouse_payment_history (
            id INT AUTO_INCREMENT PRIMARY KEY,
            warehouse_id INT,
            player_identifier VARCHAR(255),
            amount INT,
            payment_type ENUM('rental', 'purchase') DEFAULT 'rental',
            payment_date DATETIME DEFAULT CURRENT_TIMESTAMP
        )

CREATE TABLE IF NOT EXISTS warehouse_co_owner_permissions (
            id INT AUTO_INCREMENT PRIMARY KEY,
            warehouse_id INT,
            co_owner_identifier VARCHAR(255),
            can_manage_inventory TINYINT(1) DEFAULT 1,
            can_lock_unlock TINYINT(1) DEFAULT 0,
            can_add_remove_coowners TINYINT(1) DEFAULT 0,
            can_view_finances TINYINT(1) DEFAULT 0,
            can_manage_security TINYINT(1) DEFAULT 0
        )

Last updated