refactor: move api calls to routes folder; feat: add update_banner user-friendly method; fix: change file data type

This commit is contained in:
firedotguy
2026-01-30 15:16:29 +03:00
parent d27db1d905
commit 49427a5535
13 changed files with 27 additions and 14 deletions

29
itd/routes/users.py Normal file
View File

@@ -0,0 +1,29 @@
from itd.request import fetch
def get_user(token: str, username: str):
return fetch(token, 'get', f'users/{username}')
def update_profile(token: str, bio: str | None = None, display_name: str | None = None, username: str | None = None, banner_id: str | None = None):
data = {}
if bio:
data['bio'] = bio
if display_name:
data['displayName'] = display_name
if username:
data['username'] = username
if banner_id:
data['bannerId'] = banner_id
return fetch(token, 'put', 'users/me', data)
def follow(token: str, username: str):
return fetch(token, 'post', f'users/{username}/follow')
def unfollow(token: str, username: str):
return fetch(token, 'delete', f'users/{username}/follow')
def get_followers(token: str, username: str, limit: int = 30, page: int = 1):
return fetch(token, 'get', f'users/{username}/followers', {'limit': limit, 'page': page})
def get_following(token: str, username: str, limit: int = 30, page: int = 1):
return fetch(token, 'get', f'users/{username}/following', {'limit': limit, 'page': page})