-- ============================================================================
-- V87 — 행사 라이브 공지 피드 (F-B6)
-- ============================================================================
-- 주최자(ORGANIZER/관리자)가 행사 진행 중 라이브 공지(긴급·프로그램 변경 등)를 발행하고,
-- 관람객·공개 사이트에서 조회한다. 발행 시 §5B notification 모듈로 팬아웃(행사 멤버 in-app 알림) —
-- 별도 per-user 푸시 인프라를 신설하지 않고 기존 알림 모듈을 재사용한다.
-- 표준: tenant_id='KINTEX'(대문자, 복합 PK 선두). 멱등(IF NOT EXISTS / ON CONFLICT).
-- ============================================================================

CREATE TABLE IF NOT EXISTS event_live_notice (
    tenant_id   varchar(32)   NOT NULL DEFAULT 'KINTEX',
    id          varchar(64)   NOT NULL,
    event_id    varchar(64)   NOT NULL,
    category    varchar(16)   NOT NULL DEFAULT 'GENERAL',  -- URGENT / PROGRAM / GENERAL / INFO
    title       varchar(200)  NOT NULL,
    body        varchar(2000),
    pinned      boolean       NOT NULL DEFAULT false,
    status      varchar(16)   NOT NULL DEFAULT 'published', -- published / archived
    author_name varchar(120),
    created_at  timestamptz   NOT NULL DEFAULT now(),
    updated_at  timestamptz   NOT NULL DEFAULT now(),
    CONSTRAINT pk_event_live_notice PRIMARY KEY (tenant_id, id)
);

-- 공개 피드 조회(게시·고정 우선·최신순).
CREATE INDEX IF NOT EXISTS ix_live_notice_feed
    ON event_live_notice (tenant_id, event_id, status, pinned, created_at DESC);

-- ── 데모 시드(소량) — e-2026-live 라이브 공지 폐루프 ──────────────────────────
INSERT INTO event_live_notice
    (tenant_id, id, event_id, category, title, body, pinned, status, author_name)
VALUES
  ('KINTEX', 'ln-live-1', 'e-2026-live', 'URGENT', '[긴급] 제1주차장 만차 안내',
     '제1주차장이 만차입니다. 제3주차장 또는 대중교통(지하철 대화역) 이용을 권장합니다.',
     true, 'published', '운영본부'),
  ('KINTEX', 'ln-live-2', 'e-2026-live', 'PROGRAM', '오후 키노트 시작시간 변경',
     '메인 스테이지 오후 키노트가 14:00 에서 14:30 으로 30분 순연되었습니다.',
     false, 'published', '프로그램팀'),
  ('KINTEX', 'ln-live-3', 'e-2026-live', 'GENERAL', '푸드코트 운영시간 안내',
     '푸드코트는 11:00~19:00 운영합니다. 피크타임(12~13시) 혼잡이 예상됩니다.',
     false, 'published', '운영본부')
ON CONFLICT (tenant_id, id) DO NOTHING;
