import dataclasses from typing import Optional from .common import BaseModel from datetime import datetime @dataclasses.dataclass class SysMenu(BaseModel): menu_id: int = 0 menu_name: str = '' title: str = '' icon: str = '' path: str = '' paths: str = '' menu_type: str = '' action: str = '' permission: str = '' parent_id: int = 0 no_cache: bool = False breadcrumb: str = '' component: str = '' sort: int = 0 visible: str = '' is_frame: str = '' create_by: int = 0 update_by: int = 0 created_at: str = '' updated_at: str = '' children: list = dataclasses.field(default_factory=list) @dataclasses.dataclass class SysRole(BaseModel): role_id: int = 0 role_name: str = '' status: str = '' role_key: str = '' role_sort: int = 0 flag: str = '' remark: str = '' admin: bool = False data_scope: str = '' create_by: int = 0 update_by: int = 0 created_at: str = '' updated_at: str = '' menuIds: list[int] = dataclasses.field(default_factory=list) menus: list[SysMenu] = dataclasses.field(default_factory=list) @dataclasses.dataclass class SysUser(BaseModel): user_id: int = 0 username: str = '' truename: str = '' password: str = '' mobile: str = '' role_id: int = 0 salt: str = '' instrument: str = '' avatar: str = '' gender: str = '' email: str = '' remark: str = '' status: str = '' last_login_ip: str = '' last_login_time: str = '' create_by: int = 0 update_by: int = 0 created_at: str = '' updated_at: str = '' role: SysRole = None @dataclasses.dataclass class SysConfig(BaseModel): config_id: int = 0 config_name: str = '' config_key: str = '' config_value: str = '' config_type: str = '' is_frontend: str = '' remark: str = '' create_by: int = 0 update_by: int = 0 created_at: str = '' updated_at: str = '' @dataclasses.dataclass class SysDictData(BaseModel): dict_code: int = 0 dict_sort: int = 0 dict_label: str = '' dict_value: str = '' dict_type: str = '' css_class: str = '' list_class: str = '' is_default: str = '' status: int = 0 remark: str = '' create_by: int = 0 update_by: int = 0 created_at: str = '' updated_at: str = '' @dataclasses.dataclass class SysDictType(BaseModel): dict_id: int = 0 dict_name: str = '' dict_type: str = '' status: int = 0 remark: str = '' create_by: int = 0 update_by: int = 0 created_at: str = '' updated_at: str = '' @dataclasses.dataclass class ProcessMessage(BaseModel): msg_id: str = '' pipeline_id: str = '' msg_body: str = ''