-- =====================================================================================
-- Schema: 装修模块 - DIY 页面配置表
-- 位置：docs/sql/10_schema/decoration/ak_diy_pages_v1.sql
-- 对象类型：TABLE
-- 版本：v1
-- 说明：存储首页、专题页及个人中心的 DIY 布局 JSON 配置
-- =====================================================================================

CREATE TABLE IF NOT EXISTS public.ak_diy_pages (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    name TEXT NOT NULL,
    type TEXT NOT NULL,             -- home: 首页, topic: 专题页, user: 个人中心
    
    config JSONB NOT NULL DEFAULT '{}'::jsonb, -- 核心布局配置 (组件列表及参数)
    
    is_home BOOLEAN NOT NULL DEFAULT FALSE,    -- 是否为生效首页
    is_active BOOLEAN NOT NULL DEFAULT TRUE,   -- 是否启用
    
    created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
    updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
    created_by UUID REFERENCES public.ak_users(id),
    updated_by UUID REFERENCES public.ak_users(id)
);

-- 索引
CREATE INDEX IF NOT EXISTS idx_diy_pages_type ON public.ak_diy_pages (type);
CREATE INDEX IF NOT EXISTS idx_diy_pages_is_home ON public.ak_diy_pages (is_home) WHERE is_home = TRUE;

-- 注释
COMMENT ON TABLE public.ak_diy_pages IS 'DIY 页面装修配置表';
COMMENT ON COLUMN public.ak_diy_pages.type IS '页面类型: home(首页), topic(专题), user(个人中心)';
COMMENT ON COLUMN public.ak_diy_pages.config IS 'DIY 布局配置 JSON';
