-- ─────────────────────────────────────────────────────────────────────────────
--  pc-live  |  Feste PC-Standorte
--
--  server/main.lua liest diese Tabelle (LoadPCsFromDB), aber sie fehlt in
--  install.sql und pc_live.sql. Ohne sie liefert die Abfrage nichts, PCCache
--  bleibt leer und KEIN fester PC ist ansprechbar – nur mobile Terminals aus
--  Config.PCs funktionieren.
--
--  ACHTUNG, doppelte Pflege: Standort, Label und Jobsperre kommen aus dieser
--  Tabelle, die Kamerafahrt beim Öffnen aber aus Config.PCs (client/
--  interaction.lua sucht dort nach der id). Ein PC braucht deshalb beides:
--  eine Zeile hier UND einen Eintrag mit derselben id in Config.PCs. Fehlt der
--  Config-Eintrag, lässt sich der PC benutzen, aber ohne Kamera und ohne
--  Einfrieren.
-- ─────────────────────────────────────────────────────────────────────────────

CREATE TABLE IF NOT EXISTS `pc_live_devices` (
    `id`         VARCHAR(60)  NOT NULL,             -- muss zu Config.PCs passen
    `label`      VARCHAR(80)  NOT NULL DEFAULT 'Terminal',
    `x`          DOUBLE       NOT NULL,
    `y`          DOUBLE       NOT NULL,
    `z`          DOUBLE       NOT NULL,
    `heading`    DOUBLE       NOT NULL DEFAULT 0,   -- Blickrichtung AUF den Schirm
    `type`       ENUM('public','job') NOT NULL DEFAULT 'public',
    `job`        VARCHAR(120) NULL DEFAULT NULL,    -- bei type='job': ein Job oder Liste "police, ambulance"
    `start_page` VARCHAR(120) NULL DEFAULT NULL,    -- Browser-Startseite, z. B. 'ic://weazel-news.ls'
    `active`     TINYINT(1)   NOT NULL DEFAULT 1,
    `created_at` TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Erster Standort: Monitor im Mission Row PD (prop_monitor_01a, Interior 137473).
INSERT INTO `pc_live_devices` (`id`, `label`, `x`, `y`, `z`, `heading`, `type`, `job`, `active`)
VALUES ('mission_row_1', 'LSPD Terminal', 441.615, -979.645, 30.425, 195.0, 'public', NULL, 1)
ON DUPLICATE KEY UPDATE
    label = VALUES(label), x = VALUES(x), y = VALUES(y), z = VALUES(z),
    heading = VALUES(heading), type = VALUES(type), job = VALUES(job), active = VALUES(active);
