CREATE DATABASE IF NOT EXISTS quickconnect CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE quickconnect;

CREATE TABLE IF NOT EXISTS machines (
    machine_id BIGINT UNSIGNED PRIMARY KEY,
    public_ip VARCHAR(45) NOT NULL,
    public_port SMALLINT UNSIGNED NOT NULL,
    local_ip VARCHAR(45) NULL,
    local_port SMALLINT UNSIGNED NULL,
    last_seen_utc DATETIME NOT NULL,
    created_utc DATETIME NOT NULL,
    INDEX idx_last_seen (last_seen_utc)
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS handshake_relay (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    to_machine_id BIGINT UNSIGNED NOT NULL,
    from_machine_id BIGINT UNSIGNED NOT NULL,
    payload TEXT NOT NULL,
    created_utc DATETIME NOT NULL,
    consumed TINYINT(1) NOT NULL DEFAULT 0,
    INDEX idx_to_machine (to_machine_id, consumed)
) ENGINE=InnoDB;
