-- 170_outlets.sql — Daftar outlet F&B untuk form driver /driver/cover (Sprint 9, WP-9D).
-- Kontrak Sprint 9 §8 (ADR-011): "Sederhana: 6 outlet hardcode DI SEED param bukan kode" —
-- daftar outlet BUKAN tabel baru, cukup satu baris form_definition.config_json (form_code
-- 'COVER_OUTLETS'). App\Repository\DriverRepository::findCoverOutlets() membaca baris ini
-- SETIAP request (tanpa cache) — menambah/mengubah/menghapus outlet di sini lalu re-run
-- `php scripts/seed.php` (TANPA deploy/ubah kode) langsung berefek di GET/PUT /api/driver/cover
-- & view /driver/cover (Kontrak Sprint 9 §Gerbang QA butir 7).
--
-- Kode outlet (config_json[].code) dipakai langsung sbg penyusun driver_code
-- (`COVER_{OUTLET}`, mis. COVER_MAIN) dan sbg ref_code driver_value (ADR-001: ref_code=''
-- HANYA bila tak ada referensi — di sini SELALU ada referensi outlet, jadi ref_code=kode
-- outlet, bukan ''). Kode harus [A-Z0-9_]+, unik satu sama lain, dan pendek supaya
-- 'COVER_' + kode tetap muat di driver_value.driver_code VARCHAR(40).
--
-- ON DUPLICATE KEY UPDATE config_json=VALUES(...): file ini BUKAN data transaksional user
-- (ADR-010 hanya membatasi budget_line/compare) — ini konfigurasi master, wajar ditimpa ulang
-- oleh re-seed (itulah mekanisme "ubah seed -> outlet baru muncul tanpa deploy").

-- department_id=3 (FB, lihat 103_department.sql) — literal id sesuai konvensi seed lain
-- (103_department.sql/120_users.sql), bukan hasil DESCRIBE/introspeksi (ADR-005).

INSERT INTO form_definition (department_id, form_code, form_type, title, config_json) VALUES
(
    3,
    'COVER_OUTLETS',
    'driver',
    'Daftar Outlet F&B (Cover)',
    JSON_ARRAY(
        JSON_OBJECT('code', 'MAIN',    'name', 'Main Restaurant'),
        JSON_OBJECT('code', 'POOLBAR', 'name', 'Pool Bar'),
        JSON_OBJECT('code', 'LOBBY',   'name', 'Lobby Lounge'),
        JSON_OBJECT('code', 'BEACH',   'name', 'Beach Grill'),
        JSON_OBJECT('code', 'IRD',     'name', 'In-Room Dining'),
        JSON_OBJECT('code', 'BANQUET', 'name', 'Banquet & Events')
    )
)
ON DUPLICATE KEY UPDATE
    department_id = VALUES(department_id),
    title = VALUES(title),
    config_json = VALUES(config_json);
