Skip to content

Commit f401765

Browse files
committed
refactor(user): 合并重复的用户模型
- 移除 UserConfig 模型,直接使用 UserModel 作为用户信息模型 - 更新 User 类中的 update 方法,使用 UserModel 替代 UserConfig - 调整 UserModel 字段顺序,将常用字段放在前面 - 为 UserModel 字段添加默认值,简化实例化过程
1 parent 6aa3b08 commit f401765

File tree

2 files changed

+25
-57
lines changed

2 files changed

+25
-57
lines changed

mcsmapi/apis/user.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import Any, Literal
22
from mcsmapi.pool import ApiPool
33
from mcsmapi.request import send
4-
from mcsmapi.models.user import SearchUserModel, UserConfig, UserCreateResult
4+
from mcsmapi.models.user import SearchUserModel, UserCreateResult, UserModel
55

66

77
class User:
@@ -60,14 +60,14 @@ def update(uuid: str, config: dict[str, Any]) -> bool:
6060
**不建议直接使用此函数,建议调用search后使用用户对象的update方法按需更新**
6161
6262
:params uuid: 用户的UUID
63-
:params config: 新的用户信息,以字典形式提供,缺失内容由 UserConfig 模型提供默认值
63+
:params config: 新的用户信息,以字典形式提供,缺失内容由 UserModel 模型提供默认值
6464
6565
:returns: 成功时返回True
6666
"""
6767
return send(
6868
"PUT",
6969
ApiPool.AUTH,
70-
data={"uuid": uuid, "config": UserConfig(**config).model_dump()},
70+
data={"uuid": uuid, "config": UserModel(**config).model_dump()},
7171
)
7272

7373
@staticmethod

mcsmapi/models/user.py

Lines changed: 22 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -34,32 +34,32 @@ class UserCreateResult(BaseModel):
3434
class UserModel(BaseModel):
3535
"""用户信息模型"""
3636

37-
uuid: str
37+
uuid: str = ""
3838
"""用户UUID"""
39-
userName: str
39+
userName: str = ""
4040
"""用户名"""
41-
permission: UserPermission
41+
loginTime: str = ""
42+
"""最后登录时间 (YYYY/M/D hh:mm:ss)"""
43+
registerTime: str = ""
44+
"""注册时间 (YYYY/M/D hh:mm:ss)"""
45+
instances: list[UserInstances] = []
46+
"""用户拥有的实例列表"""
47+
permission: UserPermission = UserPermission.USER
4248
"""用户权限级别"""
43-
registerTime: str
44-
"""用户注册时间 (YYYY/M/D hh:mm:ss)"""
45-
loginTime: str
46-
"""用户最后登录时间 (YYYY/M/D hh:mm:ss)"""
47-
apiKey: str
48-
"""用户 API 密钥"""
49-
open2FA: bool
49+
passWord: str = ""
50+
"""用户密码"""
51+
open2FA: bool = False
5052
"""是否启用双因素认证 (2FA)"""
51-
instances: list[UserInstances]
52-
"""用户关联的实例列表"""
53-
isInit: bool
53+
apiKey: str = ""
54+
"""用户 API 密钥"""
55+
passWordType: int = 1
56+
"""密码类型 (已弃用)"""
57+
isInit: bool = False
5458
"""是否为初始化用户 (已弃用)"""
55-
secret: str
59+
secret: str = ""
5660
"""用户安全密钥 (已弃用)"""
57-
passWord: str
58-
"""用户密码 (已弃用)"""
59-
passWordType: int
60-
"""密码类型 (已弃用)"""
61-
salt: str
62-
"""密码盐值 (已弃用)"""
61+
salt: str = ""
62+
"""用户密码盐值 (已弃用)"""
6363

6464
def delete(self):
6565
"""
@@ -81,9 +81,8 @@ def update(self, config: dict[str, Any]):
8181
"""
8282
from mcsmapi.apis.user import User
8383

84-
updated_config = self.model_dump()
85-
updated_config.update(config)
86-
user_config = UserConfig(**updated_config).model_dump()
84+
user_config = self.model_dump()
85+
user_config.update(config)
8786

8887
return User().update(self.uuid, user_config)
8988

@@ -101,34 +100,3 @@ class SearchUserModel(BaseModel):
101100
"""最大可用页数"""
102101
data: list[UserModel]
103102
"""用户信息列表"""
104-
105-
106-
class UserConfig(BaseModel):
107-
"""用户配置信息"""
108-
109-
uuid: str = ""
110-
"""用户UUID"""
111-
userName: str = ""
112-
"""用户名"""
113-
loginTime: str = ""
114-
"""最后登录时间"""
115-
registerTime: str = ""
116-
"""注册时间"""
117-
instances: list[UserInstances] = []
118-
"""用户拥有的实例列表"""
119-
permission: UserPermission = UserPermission.USER
120-
"""用户权限级别"""
121-
passWord: str = ""
122-
"""用户密码"""
123-
open2FA: bool = False
124-
"""是否启用双因素认证 (2FA)"""
125-
apiKey: str = ""
126-
"""用户 API 密钥"""
127-
passWordType: int = 1
128-
"""密码类型 (已弃用)"""
129-
isInit: bool = False
130-
"""是否为初始化用户 (已弃用)"""
131-
secret: str = ""
132-
"""用户安全密钥 (已弃用)"""
133-
salt: str = ""
134-
"""用户密码盐值 (已弃用)"""

0 commit comments

Comments
 (0)