from iti.applications.extensions import db from iti.applications.common.crud import BaseModelMixin from iti.applications.common.enums import StatusEnum from iti.applications.common.utils import BaseSchema from apiflask.fields import String, DateTime, Enum, Integer class SysConfig(BaseModelMixin): """ 系统配置表 """ __tablename__ = "sys_config" type = db.Column(db.String(64), nullable=False, comment="配置类型") name = db.Column(db.String(255), nullable=False, comment="配置名称") code = db.Column(db.String(128), nullable=False, comment="配置编码") value = db.Column(db.Text, nullable=True, comment="配置值") desc = db.Column(db.Text, nullable=True, comment="配置描述") sort = db.Column(db.Integer, nullable=False, default=0, comment="排序") status = db.Column( db.Enum(StatusEnum, values_callable=lambda x: [e.value for e in x]), nullable=False, default=StatusEnum.ENABLED.value, comment="状态", ) class SysConfigSchema(BaseSchema): id = String() type = String() name = String() code = String() value = String() desc = String() sort = Integer() status = Enum(StatusEnum, by_value=True) created_at = DateTime(format="%Y-%m-%d %H:%M:%S") updated_at = DateTime(format="%Y-%m-%d %H:%M:%S")