diff --git a/itd/client.py b/itd/client.py index 7f49264..f8c8b56 100644 --- a/itd/client.py +++ b/itd/client.py @@ -3,12 +3,12 @@ from typing import cast from requests.exceptions import HTTPError -from itd.routes.users import get_user, update_profile, follow, unfollow, get_followers, get_following +from itd.routes.users import get_user, update_profile, follow, unfollow, get_followers, get_following, update_privacy from itd.routes.etc import get_top_clans, get_who_to_follow, get_platform_status from itd.routes.comments import get_comments, add_comment, delete_comment, like_comment, unlike_comment from itd.routes.hashtags import get_hastags, get_posts_by_hastag from itd.routes.notifications import get_notifications, mark_as_read, mark_all_as_read, get_unread_notifications_count -from itd.routes.posts import create_post, get_posts, get_post, edit_post, delete_post, pin_post, repost, view_post +from itd.routes.posts import create_post, get_posts, get_post, edit_post, delete_post, pin_post, repost, view_post, get_liked_posts from itd.routes.reports import report from itd.routes.search import search from itd.routes.files import upload_file @@ -57,6 +57,10 @@ class Client: def update_profile(self, username: str | None = None, display_name: str | None = None, bio: str | None = None, banner_id: str | None = None) -> dict: return update_profile(self.token, bio, display_name, username, banner_id) + @refresh_on_error + def update_privacy(self, wall_closed: bool = False, private: bool = False): + return update_privacy(self.token, wall_closed, private) + @refresh_on_error def follow(self, username: str) -> dict: return follow(self.token, username) @@ -166,6 +170,10 @@ class Client: def view_post(self, id: str): return view_post(self.token, id) + @refresh_on_error + def get_liked_posts(self, username: str, limit: int = 20, cursor: int = 0): + return get_liked_posts(self.token, username, limit, cursor) + @refresh_on_error def report(self, id: str, type: str = 'post', reason: str = 'other', description: str = ''): diff --git a/itd/routes/posts.py b/itd/routes/posts.py index 98aa18c..55a129b 100644 --- a/itd/routes/posts.py +++ b/itd/routes/posts.py @@ -39,4 +39,7 @@ def repost(token: str, id: str, content: str | None = None): return fetch(token, 'post', f'posts/{id}/repost', data) def view_post(token: str, id: str): - return fetch(token, 'post', f'posts/{id}/view') \ No newline at end of file + return fetch(token, 'post', f'posts/{id}/view') + +def get_liked_posts(token: str, username: str, limit: int = 20, cursor: int = 0): + return fetch(token, 'get', f'posts/user/{username}/liked', {'limit': limit, 'cursor': cursor}) \ No newline at end of file diff --git a/itd/routes/users.py b/itd/routes/users.py index f7bb74f..ac0506c 100644 --- a/itd/routes/users.py +++ b/itd/routes/users.py @@ -16,6 +16,14 @@ def update_profile(token: str, bio: str | None = None, display_name: str | None data['bannerId'] = banner_id return fetch(token, 'put', 'users/me', data) +def update_privacy(token: str, wall_closed: bool = False, private: bool = False): + data = {} + if wall_closed: + data['wallClosed'] = wall_closed + if private: + data['isPrivate'] = private + return fetch(token, 'put', 'users/me/privacy', data) + def follow(token: str, username: str): return fetch(token, 'post', f'users/{username}/follow')