Files
SolianForPython/core/SNAPI/Post.py

300 lines
15 KiB
Python

<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
from typing import List,Any,Optional,Dict
###==========================帖子管理============================
def GetFeaturedPosts(Authorization: str) -> dict:
"""获取精选帖子"""
url = f"{DOMAIN}/posts/featured"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetPosts(Authorization: str, offset: int = 0, take: int = 20, pub: Optional[str] = None, realm: Optional[str] = None, post_type: Optional[int] = None, categories: Optional[List[str]] = None, tags: Optional[List[str]] = None, query: Optional[str] = None, vector: bool = False, media: bool = False, shuffle: bool = False, replies: Optional[bool] = None, pinned: Optional[bool] = None) -> dict:
"""获取帖子列表"""
url = f"{DOMAIN}/posts"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {
"offset": offset,
"take": take,
"pub": pub,
"realm": realm,
"type": post_type,
"categories": categories,
"tags": tags,
"query": query,
"vector": vector,
"media": media,
"shuffle": shuffle,
"replies": replies,
"pinned": pinned,
}
return _make_request('GET', url, headers, params=params)
def PostPost(Authorization: str, title: str, description: str, slug: str, content: str, visibility: int, post_type: int, embed_view: Optional[Dict[str, Any]] = None, tags: Optional[List[str]] = None, categories: Optional[List[str]] = None, attachments: Optional[List[str]] = None, published_at: Optional[str] = None, replied_post_id: Optional[str] = None, forwarded_post_id: Optional[str] = None, realm_id: Optional[str] = None, poll_id: Optional[str] = None) -> dict:
"""创建帖子"""
body = {
"title": title,
"description": description,
"slug": slug,
"content": content,
"visibility": visibility,
"type": post_type,
"embed_view": embed_view,
"tags": tags,
"categories": categories,
"attachments": attachments,
"published_at": published_at,
"replied_post_id": replied_post_id,
"forwarded_post_id": forwarded_post_id,
"realm_id": realm_id,
"poll_id": poll_id,
}
url = f"{DOMAIN}/posts"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def GetPostById(Authorization: str, post_id: str) -> dict:
"""获取帖子详情"""
url = f"{DOMAIN}/posts/{post_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def PatchPost(Authorization: str, post_id: str, title: Optional[str] = None, description: Optional[str] = None, slug: Optional[str] = None, content: Optional[str] = None, visibility: Optional[int] = None, post_type: Optional[int] = None, embed_view: Optional[Dict[str, Any]] = None, tags: Optional[List[str]] = None, categories: Optional[List[str]] = None, attachments: Optional[List[str]] = None, published_at: Optional[str] = None, replied_post_id: Optional[str] = None, forwarded_post_id: Optional[str] = None, realm_id: Optional[str] = None, poll_id: Optional[str] = None) -> dict:
"""修改帖子"""
body = {
"title": title,
"description": description,
"slug": slug,
"content": content,
"visibility": visibility,
"type": post_type,
"embed_view": embed_view,
"tags": tags,
"categories": categories,
"attachments": attachments,
"published_at": published_at,
"replied_post_id": replied_post_id,
"forwarded_post_id": forwarded_post_id,
"realm_id": realm_id,
"poll_id": poll_id,
}
url = f"{DOMAIN}/posts/{post_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers, request_body=body)
def DeletePost(Authorization: str, post_id: str) -> dict:
"""删除帖子"""
url = f"{DOMAIN}/posts/{post_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
def GetPostReactions(Authorization: str, post_id: str, symbol: Optional[str] = None, offset: int = 0, take: int = 20) -> dict:
"""获取帖子反应"""
url = f"{DOMAIN}/posts/{post_id}/reactions"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"symbol": symbol, "offset": offset, "take": take}
return _make_request('GET', url, headers, params=params)
def PostPostReaction(Authorization: str, post_id: str, symbol: str, attitude: int) -> dict:
"""发送帖子反应"""
body = {"symbol": symbol, "attitude": attitude}
url = f"{DOMAIN}/posts/{post_id}/reactions"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def GetFeaturedPostReplies(Authorization: str, post_id: str) -> dict:
"""获取精选帖子回复"""
url = f"{DOMAIN}/posts/{post_id}/replies/featured"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetPinnedPostReplies(Authorization: str, post_id: str) -> dict:
"""获取置顶帖子回复"""
url = f"{DOMAIN}/posts/{post_id}/replies/pinned"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetPostReplies(Authorization: str, post_id: str, offset: int = 0, take: int = 20) -> dict:
"""获取帖子回复"""
url = f"{DOMAIN}/posts/{post_id}/replies"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset": offset, "take": take}
return _make_request('GET', url, headers, params=params)
def GetPostAwards(Authorization: str, post_id: str, offset: int = 0, take: int = 20) -> dict:
"""获取帖子奖励"""
url = f"{DOMAIN}/posts/{post_id}/awards"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset": offset, "take": take}
return _make_request('GET', url, headers, params=params)
def PostPostAward(Authorization: str, post_id: str, amount: float, attitude: int, message: Optional[str] = None) -> dict:
"""发送帖子奖励"""
body = {"amount": amount, "attitude": attitude, "message": message}
url = f"{DOMAIN}/posts/{post_id}/awards"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def PostPinPost(Authorization: str, post_id: str, mode: int) -> dict:
"""置顶帖子"""
body = {"mode": mode}
url = f"{DOMAIN}/posts/{post_id}/pin"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def DeletePinPost(Authorization: str, post_id: str) -> dict:
"""取消置顶帖子"""
url = f"{DOMAIN}/posts/{post_id}/pin"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
=======
from ProjectCfg import DOMAIN
from CallServer import _make_request
from typing import List,Any,Optional,Dict
###==========================帖子管理============================
def GetFeaturedPosts(Authorization: str) -> dict:
"""获取精选帖子"""
url = f"{DOMAIN}/posts/featured"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetPosts(Authorization: str, offset: int = 0, take: int = 20, pub: Optional[str] = None, realm: Optional[str] = None, post_type: Optional[int] = None, categories: Optional[List[str]] = None, tags: Optional[List[str]] = None, query: Optional[str] = None, vector: bool = False, media: bool = False, shuffle: bool = False, replies: Optional[bool] = None, pinned: Optional[bool] = None) -> dict:
"""获取帖子列表"""
url = f"{DOMAIN}/posts"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {
"offset": offset,
"take": take,
"pub": pub,
"realm": realm,
"type": post_type,
"categories": categories,
"tags": tags,
"query": query,
"vector": vector,
"media": media,
"shuffle": shuffle,
"replies": replies,
"pinned": pinned,
}
return _make_request('GET', url, headers, params=params)
def PostPost(Authorization: str, title: str, description: str, slug: str, content: str, visibility: int, post_type: int, embed_view: Optional[Dict[str, Any]] = None, tags: Optional[List[str]] = None, categories: Optional[List[str]] = None, attachments: Optional[List[str]] = None, published_at: Optional[str] = None, replied_post_id: Optional[str] = None, forwarded_post_id: Optional[str] = None, realm_id: Optional[str] = None, poll_id: Optional[str] = None) -> dict:
"""创建帖子"""
body = {
"title": title,
"description": description,
"slug": slug,
"content": content,
"visibility": visibility,
"type": post_type,
"embed_view": embed_view,
"tags": tags,
"categories": categories,
"attachments": attachments,
"published_at": published_at,
"replied_post_id": replied_post_id,
"forwarded_post_id": forwarded_post_id,
"realm_id": realm_id,
"poll_id": poll_id,
}
url = f"{DOMAIN}/posts"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def GetPostById(Authorization: str, post_id: str) -> dict:
"""获取帖子详情"""
url = f"{DOMAIN}/posts/{post_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def PatchPost(Authorization: str, post_id: str, title: Optional[str] = None, description: Optional[str] = None, slug: Optional[str] = None, content: Optional[str] = None, visibility: Optional[int] = None, post_type: Optional[int] = None, embed_view: Optional[Dict[str, Any]] = None, tags: Optional[List[str]] = None, categories: Optional[List[str]] = None, attachments: Optional[List[str]] = None, published_at: Optional[str] = None, replied_post_id: Optional[str] = None, forwarded_post_id: Optional[str] = None, realm_id: Optional[str] = None, poll_id: Optional[str] = None) -> dict:
"""修改帖子"""
body = {
"title": title,
"description": description,
"slug": slug,
"content": content,
"visibility": visibility,
"type": post_type,
"embed_view": embed_view,
"tags": tags,
"categories": categories,
"attachments": attachments,
"published_at": published_at,
"replied_post_id": replied_post_id,
"forwarded_post_id": forwarded_post_id,
"realm_id": realm_id,
"poll_id": poll_id,
}
url = f"{DOMAIN}/posts/{post_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers, request_body=body)
def DeletePost(Authorization: str, post_id: str) -> dict:
"""删除帖子"""
url = f"{DOMAIN}/posts/{post_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
def GetPostReactions(Authorization: str, post_id: str, symbol: Optional[str] = None, offset: int = 0, take: int = 20) -> dict:
"""获取帖子反应"""
url = f"{DOMAIN}/posts/{post_id}/reactions"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"symbol": symbol, "offset": offset, "take": take}
return _make_request('GET', url, headers, params=params)
def PostPostReaction(Authorization: str, post_id: str, symbol: str, attitude: int) -> dict:
"""发送帖子反应"""
body = {"symbol": symbol, "attitude": attitude}
url = f"{DOMAIN}/posts/{post_id}/reactions"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def GetFeaturedPostReplies(Authorization: str, post_id: str) -> dict:
"""获取精选帖子回复"""
url = f"{DOMAIN}/posts/{post_id}/replies/featured"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetPinnedPostReplies(Authorization: str, post_id: str) -> dict:
"""获取置顶帖子回复"""
url = f"{DOMAIN}/posts/{post_id}/replies/pinned"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetPostReplies(Authorization: str, post_id: str, offset: int = 0, take: int = 20) -> dict:
"""获取帖子回复"""
url = f"{DOMAIN}/posts/{post_id}/replies"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset": offset, "take": take}
return _make_request('GET', url, headers, params=params)
def GetPostAwards(Authorization: str, post_id: str, offset: int = 0, take: int = 20) -> dict:
"""获取帖子奖励"""
url = f"{DOMAIN}/posts/{post_id}/awards"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset": offset, "take": take}
return _make_request('GET', url, headers, params=params)
def PostPostAward(Authorization: str, post_id: str, amount: float, attitude: int, message: Optional[str] = None) -> dict:
"""发送帖子奖励"""
body = {"amount": amount, "attitude": attitude, "message": message}
url = f"{DOMAIN}/posts/{post_id}/awards"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def PostPinPost(Authorization: str, post_id: str, mode: int) -> dict:
"""置顶帖子"""
body = {"mode": mode}
url = f"{DOMAIN}/posts/{post_id}/pin"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def DeletePinPost(Authorization: str, post_id: str) -> dict:
"""取消置顶帖子"""
url = f"{DOMAIN}/posts/{post_id}/pin"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf