import { BaseVO, BaseDTO } from "../base";

export interface SysConfigVO extends BaseVO {
    /** 配置ID */
    configId?: string;
    /** 配置键 */
    key?: string;
    /** 配置名称 */
    name?: string;
    /** 配置值 */
    value?: string;
    /** 数据类型(String, Integer, Boolean, Float, Double) */
    configType?: string;
    /** 配置渲染类型(select, input, textarea, checkbox, radio, switch) */
    renderType?: string;
    /** 配置描述 */
    description?: string;
    /** 正则表达式校验规则(JSON) */
    re?: Record<string, any>;
    /** 可选项(JSON)，render_type为select、checkbox、radio时使用 */
    options?: Record<string, any>;
    /** 配置组 */
    group?: string;
    /** 模块ID */
    moduleId?: string;
    /** 配置顺序 */
    orderNum?: number;
    /** 状态 */
    status?: number;
}

// TbSysConfigDTO - 系统配置DTO（创建和更新）
export interface TbSysConfigDTO extends BaseDTO {
    /** 配置ID */
    configId?: string;
    /** 配置键 */
    key?: string;
    /** 配置名称 */
    name?: string;
    /** 配置值 */
    value?: string;
    /** 数据类型(String, Integer, Boolean, Float, Double) */
    configType?: string;
    /** 配置渲染类型(select, input, textarea, checkbox, radio, switch) */
    renderType?: string;
    /** 配置描述 */
    description?: string;
    /** 正则表达式校验规则(JSON) */
    re?: Record<string, any>;
    /** 可选项(JSON)，render_type为select、checkbox、radio时使用 */
    options?: Record<string, any>;
    /** 配置组 */
    group?: string;
    /** 模块ID */
    moduleId?: string;
    /** 配置顺序 */
    orderNum?: number;
    /** 配置状态 0:启用 1:禁用 */
    status?: number;
}