-- V11 — 로그인 화면 좌측 슬라이드(캐러셀) 관리 테이블 + 샘플 시드 5건 (멱등)
-- 공개 노출 규칙: is_active=true 만, created_at DESC(최신 등록순) 최대 5건 로테이션.
-- sort_order 는 보조 정보(관리 화면 표시용)로 유지 — 노출 순서 권위는 created_at DESC.

CREATE TABLE IF NOT EXISTS login_slide (
    id          bigserial     PRIMARY KEY,
    image_url   varchar(500)  NOT NULL,
    title       varchar(200)  NOT NULL,
    caption     varchar(500),
    sort_order  integer       NOT NULL DEFAULT 0,
    is_active   boolean       NOT NULL DEFAULT true,
    created_at  timestamptz   NOT NULL DEFAULT now(),
    updated_at  timestamptz   NOT NULL DEFAULT now()
);
CREATE INDEX IF NOT EXISTS idx_login_slide_active_created ON login_slide(is_active, created_at DESC);

-- 샘플 시드 5건 — 킨텍스 시설 사진(프론트 정적 자산 /login-slides/slide-*.png).
-- created_at 을 순차로 다르게 두어 로테이션 순서를 결정적으로 만든다(slide-1 이 최신 → 첫 슬라이드).
INSERT INTO login_slide (image_url, title, caption, sort_order, is_active, created_at, updated_at)
SELECT v.image_url, v.title, v.caption, v.sort_order, true, now() - (v.age_min * interval '1 minute'), now()
FROM (VALUES
  ('/login-slides/slide-1.png',
   '아시아를 대표하는 전시컨벤션센터, KINTEX',
   '10만㎡ 전시 공간에서 펼쳐지는 무한한 비즈니스 기회를 만나보세요.',
   1, 0),
  ('/login-slides/slide-2.png',
   '신청서를 내는 순간, 시공 후 사진을 먼저 봅니다',
   'AI가 부스 배치부터 시공 결과 시각화까지 전 과정을 자동으로 설계합니다.',
   2, 1),
  ('/login-slides/slide-3.png',
   '국내 최대 무주(無柱) 전시홀이 당신의 무대가 됩니다',
   '기둥 없는 대공간에서 어떤 규모의 전시도 자유롭게 연출하세요.',
   3, 2),
  ('/login-slides/slide-4.png',
   '회의부터 국제 컨벤션까지, 완벽한 비즈니스 공간',
   '최첨단 회의 시설과 전문 운영 인력이 성공적인 행사를 지원합니다.',
   4, 3),
  ('/login-slides/slide-5.png',
   '전시 운영의 모든 순간을 하나의 플랫폼에서',
   '부스 배선·전기·조명 설계와 현장 검수까지 데이터로 관리하세요.',
   5, 4)
) AS v(image_url, title, caption, sort_order, age_min)
WHERE NOT EXISTS (SELECT 1 FROM login_slide WHERE login_slide.image_url = v.image_url);
