From 1da12ef0798464bd1c0ae3c5a85a0252d5645bbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=A8=E8=BF=87?= Date: Sun, 5 Jan 2025 07:24:19 +0000 Subject: [PATCH] =?UTF-8?q?part2-schemas=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 雨过 --- mooc/schemas/core.py | 365 +++++++++++++++++++++ mooc/schemas/userapi.py | 85 +++++ mooc/schemas/users_all.py | 646 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 1096 insertions(+) create mode 100644 mooc/schemas/core.py create mode 100644 mooc/schemas/userapi.py create mode 100644 mooc/schemas/users_all.py diff --git a/mooc/schemas/core.py b/mooc/schemas/core.py new file mode 100644 index 0000000..2b13d42 --- /dev/null +++ b/mooc/schemas/core.py @@ -0,0 +1,365 @@ +from pydantic import BaseModel +from typing import Optional + + +# 数据模型基类: ImsCoreCacheBase,用于描述基础字段的类型、用途和注意点 +class ImsCoreCacheBase(BaseModel): + acid: str # 对应数据库表中主键acid + + +class ImsCoreCacheCreate(ImsCoreCacheBase): + """ + 用于创建新的ims_core_cache记录: + - 继承自ImsCoreCacheBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsCoreCacheUpdate(BaseModel): + """ + 用于更新已有ims_core_cache记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + acid: Optional[str] + + +class ImsCoreCache(ImsCoreCacheBase): + """ + 表示完整的ims_core_cache记录: + - acid: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + + class Config: + orm_mode = True + + +# 数据模型基类: ImsCoreCronBase,用于描述基础字段的类型、用途和注意点 +class ImsCoreCronBase(BaseModel): + acid: int + createtime: Optional[int] + nextruntime: Optional[int] + uniacid: Optional[int] + cloudid: Optional[int] + + +class ImsCoreCronCreate(ImsCoreCronBase): + """ + 用于创建新的ims_core_cron记录: + - 继承自ImsCoreCronBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsCoreCronUpdate(BaseModel): + """ + 用于更新已有ims_core_cron记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + acid: Optional[int] + createtime: Optional[int] + nextruntime: Optional[int] + uniacid: Optional[int] + cloudid: Optional[int] + + +class ImsCoreCron(ImsCoreCronBase): + """ + 表示完整的ims_core_cron记录: + - acid: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + + class Config: + orm_mode = True + + +# 数据模型基类: ImsCoreCronRecordBase,用于描述基础字段的类型、用途和注意点 +class ImsCoreCronRecordBase(BaseModel): + acid: int + uniacid: Optional[int] + tid: Optional[int] + module: Optional[str] + + +class ImsCoreCronRecordCreate(ImsCoreCronRecordBase): + """ + 用于创建新的ims_core_cron_record记录: + - 继承自ImsCoreCronRecordBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsCoreCronRecordUpdate(BaseModel): + """ + 用于更新已有ims_core_cron_record记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + acid: Optional[int] + uniacid: Optional[int] + tid: Optional[int] + module: Optional[str] + + +class ImsCoreCronRecord(ImsCoreCronRecordBase): + """ + 表示完整的ims_core_cron_record记录: + - acid: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + + class Config: + orm_mode = True + + +# 数据模型基类: ImsCoreJobBase,用于描述基础字段的类型、用途和注意点 +class ImsCoreJobBase(BaseModel): + acid: int + + +class ImsCoreJobCreate(ImsCoreJobBase): + """ + 用于创建新的ims_core_job记录: + - 继承自ImsCoreJobBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsCoreJobUpdate(BaseModel): + """ + 用于更新已有ims_core_job记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + acid: Optional[int] + + +class ImsCoreJob(ImsCoreJobBase): + """ + 表示完整的ims_core_job记录: + - acid: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + + class Config: + orm_mode = True + + +# 数据模型基类: ImsCoreMenuBase,用于描述基础字段的类型、用途和注意点 +class ImsCoreMenuBase(BaseModel): + acid: int + + +class ImsCoreMenuCreate(ImsCoreMenuBase): + """ + 用于创建新的ims_core_menu记录: + - 继承自ImsCoreMenuBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsCoreMenuUpdate(BaseModel): + """ + 用于更新已有ims_core_menu记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + acid: Optional[int] + + +class ImsCoreMenu(ImsCoreMenuBase): + """ + 表示完整的ims_core_menu记录: + - acid: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + + class Config: + orm_mode = True + + +# 数据模型基类: ImsCoreMenuShortcutBase,用于描述基础字段的类型、用途和注意点 +class ImsCoreMenuShortcutBase(BaseModel): + acid: int + uid: Optional[int] + + +class ImsCoreMenuShortcutCreate(ImsCoreMenuShortcutBase): + """ + 用于创建新的ims_core_menu_shortcut记录: + - 继承自ImsCoreMenuShortcutBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsCoreMenuShortcutUpdate(BaseModel): + """ + 用于更新已有ims_core_menu_shortcut记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + acid: Optional[int] + uid: Optional[int] + + +class ImsCoreMenuShortcut(ImsCoreMenuShortcutBase): + """ + 表示完整的ims_core_menu_shortcut记录: + - acid: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + + class Config: + orm_mode = True + + +# 数据模型基类: ImsCorePaylogBase,用于描述基础字段的类型、用途和注意点 +class ImsCorePaylogBase(BaseModel): + acid: int + openid: Optional[str] + tid: Optional[int] + uniacid: Optional[int] + uniontid: Optional[str] + + +class ImsCorePaylogCreate(ImsCorePaylogBase): + """ + 用于创建新的ims_core_paylog记录: + - 继承自ImsCorePaylogBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsCorePaylogUpdate(BaseModel): + """ + 用于更新已有ims_core_paylog记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + acid: Optional[int] + openid: Optional[str] + tid: Optional[int] + uniacid: Optional[int] + uniontid: Optional[str] + + +class ImsCorePaylog(ImsCorePaylogBase): + """ + 表示完整的ims_core_paylog记录: + - acid: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + + class Config: + orm_mode = True + + +# 数据模型基类: ImsCorePerformanceBase,用于描述基础字段的类型、用途和注意点 +class ImsCorePerformanceBase(BaseModel): + acid: int + + +class ImsCorePerformanceCreate(ImsCorePerformanceBase): + """ + 用于创建新的ims_core_performance记录: + - 继承自ImsCorePerformanceBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsCorePerformanceUpdate(BaseModel): + """ + 用于更新已有ims_core_performance记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + acid: Optional[int] + + +class ImsCorePerformance(ImsCorePerformanceBase): + """ + 表示完整的ims_core_performance记录: + - acid: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + + class Config: + orm_mode = True + + +# 数据模型基类: ImsCoreQueueBase,用于描述基础字段的类型、用途和注意点 +class ImsCoreQueueBase(BaseModel): + acid: int + uniacid: Optional[int] + module: Optional[str] + dateline: Optional[int] + + +class ImsCoreQueueCreate(ImsCoreQueueBase): + """ + 用于创建新的ims_core_queue记录: + - 继承自ImsCoreQueueBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsCoreQueueUpdate(BaseModel): + """ + 用于更新已有ims_core_queue记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + acid: Optional[int] + uniacid: Optional[int] + module: Optional[str] + dateline: Optional[int] + + +class ImsCoreQueue(ImsCoreQueueBase): + """ + 表示完整的ims_core_queue记录: + - acid: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + + class Config: + orm_mode = True + + +# 数据模型基类: ImsCoreRefundlogBase,用于描述基础字段的类型、用途和注意点 +class ImsCoreRefundlogBase(BaseModel): + acid: int + refund_uniontid: Optional[str] + uniontid: Optional[str] + + +class ImsCoreRefundlogCreate(ImsCoreRefundlogBase): + """ + 用于创建新的ims_core_refundlog记录: + - 继承自ImsCoreRefundlogBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsCoreRefundlogUpdate(BaseModel): + """ + 用于更新已有ims_core_refundlog记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + acid: Optional[int] + refund_uniontid: Optional[str] + uniontid: Optional[str] \ No newline at end of file diff --git a/mooc/schemas/userapi.py b/mooc/schemas/userapi.py new file mode 100644 index 0000000..c650ff6 --- /dev/null +++ b/mooc/schemas/userapi.py @@ -0,0 +1,85 @@ +from pydantic import BaseModel +from typing import Optional + + +# 数据模型基类: ImsUserapiCacheBase,用于描述基础字段的类型、用途和注意点 +class ImsUserapiCacheBase(BaseModel): + key: str # 对应数据库中的key字段 + content: str # 对应数据库中的content字段 + lastupdate: int # 对应数据库中的lastupdate字段 + + +class ImsUserapiCacheCreate(ImsUserapiCacheBase): + """ + 用于创建新的ims_userapi_cache记录: + - 继承自ImsUserapiCacheBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUserapiCacheUpdate(BaseModel): + """ + 用于更新已有ims_userapi_cache记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + key: Optional[str] + content: Optional[str] + + +class ImsUserapiCache(ImsUserapiCacheBase): + """ + 表示完整的ims_userapi_cache记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + +# 数据模型基类: ImsUserapiReplyBase,用于描述基础字段的类型、用途和注意点 +class ImsUserapiReplyBase(BaseModel): + rid: int + description: str + apiurl: str + token: str + default_text: str + cachetime: int + + +class ImsUserapiReplyCreate(ImsUserapiReplyBase): + """ + 用于创建新的ims_userapi_reply记录: + - 继承自ImsUserapiReplyBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUserapiReplyUpdate(BaseModel): + """ + 用于更新已有ims_userapi_reply记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + rid: Optional[int] + description: Optional[str] + apiurl: Optional[str] + token: Optional[str] + default_text: Optional[str] + cachetime: Optional[int] + + +class ImsUserapiReply(ImsUserapiReplyBase): + """ + 表示完整的ims_userapi_reply记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + adid: int # 表中的主键ID + + class Config: + orm_mode = True \ No newline at end of file diff --git a/mooc/schemas/users_all.py b/mooc/schemas/users_all.py new file mode 100644 index 0000000..d818fc2 --- /dev/null +++ b/mooc/schemas/users_all.py @@ -0,0 +1,646 @@ +from pydantic import BaseModel +from typing import Optional + + +# 数据模型基类: ImsUsersBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersBase(BaseModel): + owner_uid: int + groupid: int + founder_groupid: int + username: str + password: str + salt: str + type: int + status: int + joindate: int + joinip: str + lastvisit: int + lastip: str + remark: str + starttime: int + endtime: int + register_type: int + openid: str + welcome_link: int + notice_setting: str + is_bind: int + + +class ImsUsersCreate(ImsUsersBase): + """ + 用于创建新的ims_users记录: + - 继承自ImsUsersBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersUpdate(BaseModel): + """ + 用于更新已有ims_users记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + owner_uid: Optional[int] + groupid: Optional[int] + founder_groupid: Optional[int] + username: Optional[str] + password: Optional[str] + salt: Optional[str] + type: Optional[int] + status: Optional[int] + joindate: Optional[int] + joinip: Optional[str] + lastvisit: Optional[int] + lastip: Optional[str] + remark: Optional[str] + starttime: Optional[int] + endtime: Optional[int] + register_type: Optional[int] + openid: Optional[str] + welcome_link: Optional[int] + notice_setting: Optional[str] + is_bind: Optional[int] + + +class ImsUsers(ImsUsersBase): + """ + 表示完整的ims_users记录: + - uid: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + +# 数据模型基类: ImsUsersBindBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersBindBase(BaseModel): + uid: int + bind_sign: str + third_type: int + third_nickname: str + + +class ImsUsersBindCreate(ImsUsersBindBase): + """ + 用于创建新的ims_users_bind记录: + - 继承自ImsUsersBindBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersBindUpdate(BaseModel): + """ + 用于更新已有ims_users_bind记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + uid: Optional[int] + bind_sign: Optional[str] + third_type: Optional[int] + third_nickname: Optional[str] + + +class ImsUsersBind(ImsUsersBindBase): + """ + 表示完整的ims_users_bind记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + +# 数据模型基类: ImsUsersCreateGroupBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersCreateGroupBase(BaseModel): + group_name: str + maxaccount: int + maxwxapp: int + maxwebapp: int + maxphoneapp: int + maxxzapp: int + maxaliapp: int + createtime: int + maxbaiduapp: int + maxtoutiaoapp: int + + +class ImsUsersCreateGroupCreate(ImsUsersCreateGroupBase): + """ + 用于创建新的ims_users_create_group记录: + - 继承自ImsUsersCreateGroupBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersCreateGroupUpdate(BaseModel): + """ + 用于更新已有ims_users_create_group记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + group_name: Optional[str] + maxaccount: Optional[int] + maxwxapp: Optional[int] + maxwebapp: Optional[int] + maxphoneapp: Optional[int] + maxxzapp: Optional[int] + maxaliapp: Optional[int] + createtime: Optional[int] + maxbaiduapp: Optional[int] + maxtoutiaoapp: Optional[int] + + +class ImsUsersCreateGroup(ImsUsersCreateGroupBase): + """ + 表示完整的ims_users_create_group记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + +# 数据模型基类: ImsUsersGroupBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersGroupBase(BaseModel): + owner_uid: int + name: str + package: str + maxaccount: int + timelimit: int + maxwxapp: int + maxwebapp: int + maxphoneapp: int + maxxzapp: int + maxaliapp: int + maxbaiduapp: int + maxtoutiaoapp: int + + +class ImsUsersGroupCreate(ImsUsersGroupBase): + """ + 用于创建新的ims_users_group记录: + - 继承自ImsUsersGroupBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersGroupUpdate(BaseModel): + """ + 用于更新已有ims_users_group记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + owner_uid: Optional[int] + name: Optional[str] + package: Optional[str] + maxaccount: Optional[int] + timelimit: Optional[int] + maxwxapp: Optional[int] + maxwebapp: Optional[int] + maxphoneapp: Optional[int] + maxxzapp: Optional[int] + maxaliapp: Optional[int] + maxbaiduapp: Optional[int] + maxtoutiaoapp: Optional[int] + + +class ImsUsersGroup(ImsUsersGroupBase): + """ + 表示完整的ims_users_group记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + +# 数据模型基类: ImsUsersInvitation + + + + +# 数据模型基类: ImsUsersExtraGroupBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersExtraGroupBase(BaseModel): + uid: int + uni_group_id: int + create_group_id: int + + +class ImsUsersExtraGroupCreate(ImsUsersExtraGroupBase): + """ + 用于创建新的ims_users_extra_group记录: + - 继承自ImsUsersExtraGroupBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersExtraGroupUpdate(BaseModel): + """ + 用于更新已有ims_users_extra_group记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + uid: Optional[int] + uni_group_id: Optional[int] + create_group_id: Optional[int] + + +class ImsUsersExtraGroup(ImsUsersExtraGroupBase): + """ + 表示完整的ims_users_extra_group记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + +# 数据模型基类: ImsUsersExtraLimitBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersExtraLimitBase(BaseModel): + uid: int + maxaccount: int + maxwxapp: int + maxwebapp: int + maxphoneapp: int + maxxzapp: int + maxaliapp: int + timelimit: int + maxbaiduapp: int + maxtoutiaoapp: int + + +class ImsUsersExtraLimitCreate(ImsUsersExtraLimitBase): + """ + 用于创建新的ims_users_extra_limit记录: + - 继承自ImsUsersExtraLimitBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersExtraLimitUpdate(BaseModel): + """ + 用于更新已有ims_users_extra_limit记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + uid: Optional[int] + maxaccount: Optional[int] + maxwxapp: Optional[int] + maxwebapp: Optional[int] + maxphoneapp: Optional[int] + maxxzapp: Optional[int] + maxaliapp: Optional[int] + timelimit: Optional[int] + maxbaiduapp: Optional[int] + maxtoutiaoapp: Optional[int] + + +class ImsUsersExtraLimit(ImsUsersExtraLimitBase): + """ + 表示完整的ims_users_extra_limit记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + +# 数据模型基类: ImsUsersExtraModulesBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersExtraModulesBase(BaseModel): + uid: int + module_name: str + support: str + + +class ImsUsersExtraModulesCreate(ImsUsersExtraModulesBase): + """ + 用于创建新的ims_users_extra_modules记录: + - 继承自ImsUsersExtraModulesBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersExtraModulesUpdate(BaseModel): + """ + 用于更新已有ims_users_extra_modules记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + uid: Optional[int] + module_name: Optional[str] + support: Optional[str] + + +class ImsUsersExtraModules(ImsUsersExtraModulesBase): + """ + 表示完整的ims_users_extra_modules记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + +# 数据模型基类: ImsUsersExtraTemplatesBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersExtraTemplatesBase(BaseModel): + uid: int + template_id: int + + +class ImsUsersExtraTemplatesCreate(ImsUsersExtraTemplatesBase): + """ + 用于创建新的ims_users_extra_templates记录: + - 继承自ImsUsersExtraTemplatesBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersExtraTemplatesUpdate(BaseModel): + """ + 用于更新已有ims_users_extra_templates记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + uid: Optional[int] + template_id: Optional[int] + + +class ImsUsersExtraTemplates(ImsUsersExtraTemplatesBase): + """ + 表示完整的ims_users_extra_templates记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + + +# 数据模型基类: ImsUsersFailedLoginBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersFailedLoginBase(BaseModel): + ip: str + username: str + count: int + lastupdate: int + + +class ImsUsersFailedLoginCreate(ImsUsersFailedLoginBase): + """ + 用于创建新的ims_users_failed_login记录: + - 继承自ImsUsersFailedLoginBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersFailedLoginUpdate(BaseModel): + """ + 用于更新已有ims_users_failed_login记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + ip: Optional[str] + username: Optional[str] + count: Optional[int] + lastupdate: Optional[int] + + +class ImsUsersFailedLogin(ImsUsersFailedLoginBase): + """ + 表示完整的ims_users_failed_login记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + + + +# 数据模型基类: ImsUsersFounderGroupBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersFounderGroupBase(BaseModel): + name: str + package: str + maxaccount: int + timelimit: int + maxwxapp: int + maxwebapp: int + maxphoneapp: int + maxxzapp: int + maxaliapp: int + maxbaiduapp: int + maxtoutiaoapp: int + + +class ImsUsersFounderGroupCreate(ImsUsersFounderGroupBase): + """ + 用于创建新的ims_users_founder_group记录: + - 继承自ImsUsersFounderGroupBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersFounderGroupUpdate(BaseModel): + """ + 用于更新已有ims_users_founder_group记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + name: Optional[str] + package: Optional[str] + maxaccount: Optional[int] + timelimit: Optional[int] + maxwxapp: Optional[int] + maxwebapp: Optional[int] + maxphoneapp: Optional[int] + maxxzapp: Optional[int] + maxaliapp: Optional[int] + maxbaiduapp: Optional[int] + maxtoutiaoapp: Optional[int] + + +class ImsUsersFounderGroup(ImsUsersFounderGroupBase): + """ + 表示完整的ims_users_founder_group记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + +# 数据模型基类: ImsUsersFounderOwnCreateGroupsBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersFounderOwnCreateGroupsBase(BaseModel): + founder_uid: int + create_group_id: int + + +class ImsUsersFounderOwnCreateGroupsCreate(ImsUsersFounderOwnCreateGroupsBase): + """ + 用于创建新的ims_users_founder_own_create_groups记录: + - 继承自ImsUsersFounderOwnCreateGroupsBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersFounderOwnCreateGroupsUpdate(BaseModel): + """ + 用于更新已有ims_users_founder_own_create_groups记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + founder_uid: Optional[int] + create_group_id: Optional[int] + + +class ImsUsersFounderOwnCreateGroups(ImsUsersFounderOwnCreateGroupsBase): + """ + 表示完整的ims_users_founder_own_create_groups记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + +# 数据模型基类: ImsUsersFounderOwnUniGroupsBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersFounderOwnUniGroupsBase(BaseModel): + founder_uid: int + uni_group_id: int + + +class ImsUsersFounderOwnUniGroupsCreate(ImsUsersFounderOwnUniGroupsBase): + """ + 用于创建新的ims_users_founder_own_uni_groups记录: + - 继承自ImsUsersFounderOwnUniGroupsBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersFounderOwnUniGroupsUpdate(BaseModel): + """ + 用于更新已有ims_users_founder_own_uni_groups记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + founder_uid: Optional[int] + uni_group_id: Optional[int] + + +class ImsUsersFounderOwnUniGroups(ImsUsersFounderOwnUniGroupsBase): + """ + 表示完整的ims_users_founder_own_uni_groups记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + +# 数据模型基类: ImsUsersFounderOwnUsersBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersFounderOwnUsersBase(BaseModel): + uid: int + founder_uid: int + + +class ImsUsersFounderOwnUsersCreate(ImsUsersFounderOwnUsersBase): + """ + 用于创建新的ims_users_founder_own_users记录: + - 继承自ImsUsersFounderOwnUsersBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersFounderOwnUsersUpdate(BaseModel): + """ + 用于更新已有ims_users_founder_own_users记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + uid: Optional[int] + founder_uid: Optional[int] + + +class ImsUsersFounderOwnUsers(ImsUsersFounderOwnUsersBase): + """ + 表示完整的ims_users_founder_own_users记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True + + +# 数据模型基类: ImsUsersFounderOwnUsersGroupsBase,用于描述基础字段的类型、用途和注意点 +class ImsUsersFounderOwnUsersGroupsBase(BaseModel): + founder_uid: int + users_group_id: int + + +class ImsUsersFounderOwnUsersGroupsCreate(ImsUsersFounderOwnUsersGroupsBase): + """ + 用于创建新的ims_users_founder_own_users_groups记录: + - 继承自ImsUsersFounderOwnUsersGroupsBase,不额外添加字段 + - 仅表示此Schema专用于'创建'场景 + """ + pass + + +class ImsUsersFounderOwnUsersGroupsUpdate(BaseModel): + """ + 用于更新已有ims_users_founder_own_users_groups记录: + - 只包含可选字段,未在此处的内容将保持不变 + - 注意: exclude_unset=True 可以避免更新空值 + """ + founder_uid: Optional[int] + users_group_id: Optional[int] + + +class ImsUsersFounderOwnUsersGroups(ImsUsersFounderOwnUsersGroupsBase): + """ + 表示完整的ims_users_founder_own_users_groups记录: + - id: 数据库主键ID + - 包含所有字段的最终模型,ORM转换时使用 + """ + acid: int # 表中的主键ID + + class Config: + orm_mode = True \ No newline at end of file