上传文件至 /
This commit is contained in:
69
Poll.py
Normal file
69
Poll.py
Normal file
@@ -0,0 +1,69 @@
|
||||
from ProjectCfg import DOMAIN
|
||||
from .CallServer import _make_request
|
||||
from typing import List,Any,Optional,Dict
|
||||
|
||||
###==========================投票功能============================
|
||||
def GetPoll(poll_id: str, Authorization: str) -> dict:
|
||||
"""获取投票"""
|
||||
url = f"{DOMAIN}/polls/{poll_id}"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('GET', url, headers)
|
||||
|
||||
def PostPoll(Authorization: str, title: Optional[str] = None, description: Optional[str] = None, ended_at: Optional[str] = None, is_anonymous: Optional[bool] = None, questions: Optional[List[Dict[str, Any]]] = None) -> dict:
|
||||
"""创建投票"""
|
||||
body = {
|
||||
"title": title,
|
||||
"description": description,
|
||||
"ended_at": ended_at,
|
||||
"is_anonymous": is_anonymous,
|
||||
"questions": questions,
|
||||
}
|
||||
url = f"{DOMAIN}/polls"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
|
||||
|
||||
def DeletePoll(Authorization: str, poll_id: str) -> dict:
|
||||
"""删除投票"""
|
||||
url = f"{DOMAIN}/polls/{poll_id}"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('DELETE', url, headers, normal_codes=[204])
|
||||
|
||||
def AnswerPoll(Authorization: str, poll_id: str, answer: Dict[str, Any]) -> dict:
|
||||
"""回答投票"""
|
||||
body = {"answer": answer}
|
||||
url = f"{DOMAIN}/polls/{poll_id}/answer"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
|
||||
|
||||
def DeletePollAnswer(Authorization: str, poll_id: str) -> dict:
|
||||
"""删除投票回答"""
|
||||
url = f"{DOMAIN}/polls/{poll_id}/answer"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('DELETE', url, headers, normal_codes=[204])
|
||||
|
||||
def GetPollFeedback(Authorization: str, poll_id: str, offset: int = 0, take: int = 20) -> dict:
|
||||
"""获取投票反馈"""
|
||||
url = f"{DOMAIN}/polls/{poll_id}/feedback"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
params = {'offset': offset, 'take': take}
|
||||
return _make_request('GET', url, headers, params=params)
|
||||
|
||||
def GetMyPolls(Authorization: str, pub: Optional[str] = None, active: bool = False, offset: int = 0, take: int = 20) -> dict:
|
||||
"""获取我的投票"""
|
||||
url = f"{DOMAIN}/polls/me"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
params = {'offset': offset, 'take': take, 'pub': pub, 'active': active}
|
||||
return _make_request('GET', url, headers, params=params)
|
||||
|
||||
def PatchPoll(Authorization: str, poll_id: str, title: Optional[str] = None, description: Optional[str] = None, ended_at: Optional[str] = None, is_anonymous: Optional[bool] = None, questions: Optional[List[Dict[str, Any]]] = None) -> dict:
|
||||
"""修改投票"""
|
||||
body = {
|
||||
"title": title,
|
||||
"description": description,
|
||||
"ended_at": ended_at,
|
||||
"is_anonymous": is_anonymous,
|
||||
"questions": questions,
|
||||
}
|
||||
url = f"{DOMAIN}/polls/{poll_id}"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('PATCH', url, headers, request_body=body, normal_codes=[201])
|
148
Post.py
Normal file
148
Post.py
Normal file
@@ -0,0 +1,148 @@
|
||||
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])
|
42
PostCategory.py
Normal file
42
PostCategory.py
Normal file
@@ -0,0 +1,42 @@
|
||||
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)
|
42
PostTag.py
Normal file
42
PostTag.py
Normal file
@@ -0,0 +1,42 @@
|
||||
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)
|
1
ProjectCfg.py
Normal file
1
ProjectCfg.py
Normal file
@@ -0,0 +1 @@
|
||||
DOMAIN='https://solian.app/api'
|
Reference in New Issue
Block a user