from ProjectCfg import DOMAIN from .CallServer import _make_request from typing import Optional ###==========================帖子分类管理============================ def GetPostCategories(Authorization: str, query: Optional[str] = None, offset: int = 0, take: int = 20, order: Optional[str] = None) -> dict: """获取帖子分类""" url = f"{DOMAIN}/posts/categories" headers = {'accept': 'application/json', 'Authorization': Authorization} params = {"query": query, "offset": offset, "take": take, "order": order} return _make_request('GET', url, headers, params=params) def PostPostCategory(Authorization: str, slug: Optional[str] = None, name: Optional[str] = None) -> dict: """创建帖子分类""" body = {"slug": slug, "name": name} url = f"{DOMAIN}/posts/categories" headers = {'accept': 'application/json', 'Authorization': Authorization} return _make_request('POST', url, headers, request_body=body, normal_codes=[201]) def GetPostCategoryBySlug(Authorization: str, slug: str) -> dict: """获取帖子分类详情""" url = f"{DOMAIN}/posts/categories/{slug}" headers = {'accept': 'application/json', 'Authorization': Authorization} return _make_request('GET', url, headers) def PostSubscribeCategory(Authorization: str, slug: str) -> dict: """订阅帖子分类""" url = f"{DOMAIN}/posts/categories/{slug}/subscribe" headers = {'accept': 'application/json', 'Authorization': Authorization} return _make_request('POST', url, headers, normal_codes=[201]) def PostUnsubscribeCategory(Authorization: str, slug: str) -> dict: """取消订阅帖子分类""" url = f"{DOMAIN}/posts/categories/{slug}/unsubscribe" headers = {'accept': 'application/json', 'Authorization': Authorization} return _make_request('POST', url, headers, normal_codes=[201]) def GetCategorySubscription(Authorization: str, slug: str) -> dict: """获取分类订阅状态""" url = f"{DOMAIN}/posts/categories/{slug}/subscription" headers = {'accept': 'application/json', 'Authorization': Authorization} return _make_request('GET', url, headers)