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): data = {} if bio: data['bio'] = bio if display_name: data['displayName'] = display_name if username: data['username'] = username 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})