Coverage for microservice_websocket/app/utils/user.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.0.0, created at 2022-12-20 14:31 +0000

1from beanie import PydanticObjectId 

2 

3from ..blueprints.api.models import CreateUserPayload, UpdateUserPayload 

4from ..services.database import User, user_manager 

5from .exceptions import NotFoundException 

6 

7 

8async def get_user_list() -> list[User]: 

9 return await User.find_all().to_list() 

10 

11 

12async def get_user_info(user_id: str) -> User: 

13 user = await User.get(PydanticObjectId(user_id)) 

14 

15 if user is None: 

16 raise NotFoundException("User") 

17 

18 return user 

19 

20 

21async def create_user(payload: CreateUserPayload) -> User | None: 

22 return await user_manager.create_user( 

23 email=payload.email, 

24 password=payload.password, 

25 role=payload.role, 

26 first_name=payload.first_name, 

27 last_name=payload.last_name, 

28 ) 

29 

30 

31async def update_user(user_id: str, payload: UpdateUserPayload) -> bool: 

32 return await user_manager.update_user(user_id, payload) 

33 

34 

35async def delete_user(user_id: str): 

36 await user_manager.delete_user(user_id)