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

1from typing import Any 

2 

3from auth.services import UserService, RoleService, PermissionService, AuthService 

4from auth.models import UserModel 

5 

6 

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 

17 

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 )