feat: add get liked post and update privacy

This commit is contained in:
firedotguy
2026-01-30 15:39:52 +03:00
parent 49427a5535
commit aa20199ebe
3 changed files with 22 additions and 3 deletions

View File

@@ -3,12 +3,12 @@ from typing import cast
from requests.exceptions import HTTPError 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.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.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.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.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.reports import report
from itd.routes.search import search from itd.routes.search import search
from itd.routes.files import upload_file 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: 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) 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 @refresh_on_error
def follow(self, username: str) -> dict: def follow(self, username: str) -> dict:
return follow(self.token, username) return follow(self.token, username)
@@ -166,6 +170,10 @@ class Client:
def view_post(self, id: str): def view_post(self, id: str):
return view_post(self.token, id) 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 @refresh_on_error
def report(self, id: str, type: str = 'post', reason: str = 'other', description: str = ''): def report(self, id: str, type: str = 'post', reason: str = 'other', description: str = ''):

View File

@@ -39,4 +39,7 @@ def repost(token: str, id: str, content: str | None = None):
return fetch(token, 'post', f'posts/{id}/repost', data) return fetch(token, 'post', f'posts/{id}/repost', data)
def view_post(token: str, id: str): def view_post(token: str, id: str):
return fetch(token, 'post', f'posts/{id}/view') 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})

View File

@@ -16,6 +16,14 @@ def update_profile(token: str, bio: str | None = None, display_name: str | None
data['bannerId'] = banner_id data['bannerId'] = banner_id
return fetch(token, 'put', 'users/me', data) 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): def follow(token: str, username: str):
return fetch(token, 'post', f'users/{username}/follow') return fetch(token, 'post', f'users/{username}/follow')