add user_service.py
This commit is contained in:
parent
f902efaf88
commit
531cbcf5a0
1 changed files with 50 additions and 0 deletions
|
@ -0,0 +1,50 @@
|
||||||
|
from typing import Optional, List
|
||||||
|
|
||||||
|
from synclean.api.users import UserAPI
|
||||||
|
from synclean.models.enums import UserMediaOrderBy, Direction, UserOrderBy
|
||||||
|
from synclean.models.pagination import UserMediaPaginationParams, UserPaginationParams
|
||||||
|
from synclean.models.user import UserList
|
||||||
|
from synclean.models.user_media import UserMediaList
|
||||||
|
|
||||||
|
|
||||||
|
class UserService:
|
||||||
|
def __init__(self, user_api: UserAPI):
|
||||||
|
self.user_api = user_api
|
||||||
|
|
||||||
|
def get_users_list_by_media(
|
||||||
|
self,
|
||||||
|
limit: int,
|
||||||
|
offset: int,
|
||||||
|
order_by: str,
|
||||||
|
direction: str,
|
||||||
|
search: Optional[str]
|
||||||
|
) -> UserMediaList | None:
|
||||||
|
order_by_enum = UserMediaOrderBy(order_by)
|
||||||
|
direction_enum = Direction(direction)
|
||||||
|
|
||||||
|
pagination_params = UserMediaPaginationParams(limit, offset, order_by_enum, direction_enum, search)
|
||||||
|
|
||||||
|
users = self.user_api.get_users_list_by_media(pagination_params)
|
||||||
|
if users:
|
||||||
|
return users
|
||||||
|
return None
|
||||||
|
|
||||||
|
def get_users_list(
|
||||||
|
self,
|
||||||
|
limit: int,
|
||||||
|
offset: int,
|
||||||
|
order_by: str,
|
||||||
|
direction: str,
|
||||||
|
search: Optional[str]
|
||||||
|
) -> UserList | None:
|
||||||
|
order_by_enum = UserOrderBy(order_by)
|
||||||
|
direction_enum = Direction(direction)
|
||||||
|
|
||||||
|
pagination_params = UserPaginationParams(limit, offset, order_by_enum, direction_enum, search)
|
||||||
|
users = self.user_api.get_users_list(pagination_params)
|
||||||
|
if users:
|
||||||
|
return users
|
||||||
|
return None
|
||||||
|
|
||||||
|
def get_user_details_by_id(self, user_id: str):
|
||||||
|
pass
|
Loading…
Add table
Add a link
Reference in a new issue