taolib.testing.config_center.repository.user_repo#

用户 Repository 模块。

提供用户文档的 MongoDB 操作实现,包含密码哈希处理。

Classes#

UserRepository

用户 Repository 实现。

Module Contents#

class taolib.testing.config_center.repository.user_repo.UserRepository(collection)#

Bases: taolib.testing.config_center.repository.base.AsyncRepository[taolib.testing.config_center.models.user.UserDocument]

用户 Repository 实现。

async find_by_username(username: str) taolib.testing.config_center.models.user.UserDocument | None#

根据用户名查找用户。

参数:

username -- 用户名

返回:

用户文档实例,如果不存在则返回 None

async find_by_email(email: str) taolib.testing.config_center.models.user.UserDocument | None#

根据邮箱查找用户。

参数:

email -- 邮箱地址

返回:

用户文档实例,如果不存在则返回 None

async create_user_with_password(username: str, password: str, email: str | None = None, display_name: str = '', role_ids: list[str] | None = None) taolib.testing.config_center.models.user.UserDocument#

创建用户并哈希密码。

参数:
  • username -- 用户名

  • password -- 明文密码

  • email -- 邮箱地址

  • display_name -- 显示名称

  • role_ids -- 角色 IDs

返回:

创建的用户文档实例

抛出:

ValueError -- 如果用户名已存在

async verify_password(user_id: str, password: str) bool#

验证用户密码。

参数:
  • user_id -- 用户 ID

  • password -- 明文密码

返回:

密码是否正确

async create_indexes() None#

创建索引。

async get_user_roles(user_id: str, role_collection) list[dict]#

获取用户的角色列表。

参数:
  • user_id -- 用户 ID

  • role_collection -- MongoDB roles 集合对象

返回:

角色列表,每个角色包含 id、name、permissions 等字段