feat: add models and partially custom error messages
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
from requests import Response
|
||||
|
||||
from itd.request import auth_fetch
|
||||
|
||||
def refresh_token(cookies: str):
|
||||
return auth_fetch(cookies, 'post', 'v1/auth/refresh')['accessToken']
|
||||
def refresh_token(cookies: str) -> Response:
|
||||
return auth_fetch(cookies, 'post', 'v1/auth/refresh')
|
||||
|
||||
def change_password(cookies: str, token: str, old: str, new: str):
|
||||
def change_password(cookies: str, token: str, old: str, new: str) -> Response:
|
||||
return auth_fetch(cookies, 'post', 'v1/auth/change-password', {'newPassword': new, 'oldPassword': old}, token)
|
||||
|
||||
def logout(cookies: str):
|
||||
def logout(cookies: str) -> Response:
|
||||
return auth_fetch(cookies, 'post', 'v1/auth/logout')
|
||||
|
||||
@@ -7,7 +7,7 @@ def add_comment(token: str, post_id: str, content: str, reply_comment_id: str |
|
||||
return fetch(token, 'post', f'posts/{post_id}/comments', data)
|
||||
|
||||
def get_comments(token: str, post_id: str, limit: int = 20, cursor: int = 0, sort: str = 'popular'):
|
||||
return fetch(token, 'get', f'posts/{post_id}/comments', {'limit': limit, 'sort': sort, 'cursor': cursor})['data']
|
||||
return fetch(token, 'get', f'posts/{post_id}/comments', {'limit': limit, 'sort': sort, 'cursor': cursor})
|
||||
|
||||
def like_comment(token: str, comment_id: str):
|
||||
return fetch(token, 'post', f'comments/{comment_id}/like')
|
||||
|
||||
@@ -4,4 +4,4 @@ from itd.request import fetch
|
||||
|
||||
|
||||
def upload_file(token: str, name: str, data: BufferedReader):
|
||||
return fetch(token, 'post', 'files/upload', files={'file': (name, data)})
|
||||
return fetch(token, 'post', 'files/upload', files={'file': (name, data)})
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from itd.request import fetch
|
||||
|
||||
def get_hastags(token: str, limit: int = 10):
|
||||
return fetch(token, 'get', 'hashtags/trending', {'limit': limit})['data']
|
||||
return fetch(token, 'get', 'hashtags/trending', {'limit': limit})
|
||||
|
||||
def get_posts_by_hastag(token: str, hashtag: str, limit: int = 20, cursor: int = 0):
|
||||
return fetch(token, 'get', f'hashtags/{hashtag}/posts', {'limit': limit, 'cursor': cursor})
|
||||
|
||||
@@ -18,7 +18,7 @@ def get_posts(token: str, username: str | None = None, limit: int = 20, cursor:
|
||||
if tab:
|
||||
data['tab'] = tab
|
||||
|
||||
return fetch(token, 'get', 'posts', data)['data']
|
||||
return fetch(token, 'get', 'posts', data)
|
||||
|
||||
def get_post(token: str, id: str):
|
||||
return fetch(token, 'get', f'posts/{id}')
|
||||
@@ -42,4 +42,6 @@ def view_post(token: str, id: str):
|
||||
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})
|
||||
return fetch(token, 'get', f'posts/user/{username}/liked', {'limit': limit, 'cursor': cursor})
|
||||
|
||||
# todo post restore
|
||||
@@ -1,10 +1,12 @@
|
||||
from uuid import UUID
|
||||
|
||||
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):
|
||||
def update_profile(token: str, bio: str | None = None, display_name: str | None = None, username: str | None = None, banner_id: UUID | None = None):
|
||||
data = {}
|
||||
if bio:
|
||||
data['bio'] = bio
|
||||
@@ -13,14 +15,14 @@ def update_profile(token: str, bio: str | None = None, display_name: str | None
|
||||
if username:
|
||||
data['username'] = username
|
||||
if banner_id:
|
||||
data['bannerId'] = banner_id
|
||||
data['bannerId'] = str(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:
|
||||
if wall_closed is not None:
|
||||
data['wallClosed'] = wall_closed
|
||||
if private:
|
||||
if private is not None:
|
||||
data['isPrivate'] = private
|
||||
return fetch(token, 'put', 'users/me/privacy', data)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user