Coverage for src/auth/loaders.py: 100%
10 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-26 17:22 +0300
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-26 17:22 +0300
1from typing import Any
3from auth.services import UserService, RoleService, PermissionService, AuthService
4from auth.models import UserModel
7class AuthLoader:
8 def __init__(
9 self,
10 user_service: UserService,
11 role_service: RoleService,
12 permission_service: PermissionService,
13 ):
14 self.user_service = user_service
15 self.role_service = role_service
16 self.permission_service = permission_service
18 async def load(self, data: dict[str, Any]):
19 await self.user_service.create_many(
20 [
21 UserModel(
22 email=user["email"],
23 password=AuthService.hash_password(user["password"]),
24 is_enabled=True,
25 is_email_verified=True,
26 )
27 for user in data.get("users", [])
28 ],
29 auto_commit=True,
30 )