add user_service.py

This commit is contained in:
Hirad 2025-07-18 11:19:50 +03:30
parent f902efaf88
commit 531cbcf5a0

View file

@ -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