Program/mooc/schemas/users.py

646 lines
18 KiB
Python
Raw Normal View History

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