43 lines
2.0 KiB
Python
43 lines
2.0 KiB
Python
from ProjectCfg import DOMAIN
|
|
from .CallServer import _make_request
|
|
from typing import Optional
|
|
|
|
###==========================帖子标签管理============================
|
|
def GetPostTags(Authorization: str, query: Optional[str] = None, offset: int = 0, take: int = 20, order: Optional[str] = None) -> dict:
|
|
"""获取帖子标签"""
|
|
url = f"{DOMAIN}/posts/tags"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
params = {"query": query, "offset": offset, "take": take, "order": order}
|
|
return _make_request('GET', url, headers, params=params)
|
|
|
|
def PostTag(Authorization: str, slug: Optional[str] = None, name: Optional[str] = None) -> dict:
|
|
"""创建帖子标签"""
|
|
body = {"slug": slug, "name": name}
|
|
url = f"{DOMAIN}/posts/tags"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
|
|
|
|
def GetTagBySlug(Authorization: str, slug: str) -> dict:
|
|
"""获取标签详情"""
|
|
url = f"{DOMAIN}/posts/tags/{slug}"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('GET', url, headers)
|
|
|
|
def PostSubscribeTag(Authorization: str, slug: str) -> dict:
|
|
"""订阅标签"""
|
|
url = f"{DOMAIN}/posts/tags/{slug}/subscribe"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('POST', url, headers, normal_codes=[201])
|
|
|
|
def PostUnsubscribeTag(Authorization: str, slug: str) -> dict:
|
|
"""取消订阅标签"""
|
|
url = f"{DOMAIN}/posts/tags/{slug}/unsubscribe"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('POST', url, headers, normal_codes=[201])
|
|
|
|
def GetTagSubscription(Authorization: str, slug: str) -> dict:
|
|
"""获取标签订阅状态"""
|
|
url = f"{DOMAIN}/posts/tags/{slug}/subscription"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('GET', url, headers)
|