150 lines
7.1 KiB
Python
150 lines
7.1 KiB
Python
from ProjectCfg import DOMAIN
|
|
from CallServer import _make_request
|
|
from typing import List,Any,Optional,Dict
|
|
###==========================发布者管理============================
|
|
def GetPublisher(Authorization: str, name: str) -> dict:
|
|
"""获取发布者信息"""
|
|
url = f"{DOMAIN}/publishers/{name}"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('GET', url, headers)
|
|
|
|
def PatchPublisher(Authorization: str, name: str, nick: Optional[str] = None, bio: Optional[str] = None, picture_id: Optional[str] = None, background_id: Optional[str] = None) -> dict:
|
|
"""修改发布者信息"""
|
|
body = {
|
|
"nick": nick,
|
|
"bio": bio,
|
|
"picture_id": picture_id,
|
|
"background_id": background_id,
|
|
}
|
|
url = f"{DOMAIN}/publishers/{name}"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('PATCH', url, headers, request_body=body, normal_codes=[201])
|
|
|
|
def DeletePublisher(Authorization: str, name: str) -> dict:
|
|
"""删除发布者"""
|
|
url = f"{DOMAIN}/publishers/{name}"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('DELETE', url, headers, normal_codes=[204])
|
|
|
|
def GetPublisherStats(Authorization: str, name: str) -> dict:
|
|
"""获取发布者统计信息"""
|
|
url = f"{DOMAIN}/publishers/{name}/stats"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('GET', url, headers)
|
|
|
|
def GetPublishersOfAccountId(Authorization: str, account_id: str) -> dict:
|
|
"""获取指定账户的发布者"""
|
|
url = f"{DOMAIN}/publishers/of/{account_id}"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('GET', url, headers)
|
|
|
|
def GetPublishers(Authorization: str) -> dict:
|
|
"""获取所有发布者"""
|
|
url = f"{DOMAIN}/publishers"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('GET', url, headers)
|
|
|
|
def PostPublisherInvite(Authorization: str, name: str, related_user_id: str, role: int) -> dict:
|
|
"""发送发布者邀请"""
|
|
body = {"related_user_id": related_user_id, "role": role}
|
|
url = f"{DOMAIN}/publishers/invites/{name}"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
|
|
|
|
def GetPublisherInvites(Authorization: str, name: str) -> dict:
|
|
"""获取发布者邀请"""
|
|
url = f"{DOMAIN}/publishers/invites/{name}"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('GET', url, headers)
|
|
|
|
def AcceptPublisherInvite(Authorization: str, name: str) -> dict:
|
|
"""接受发布者邀请"""
|
|
url = f"{DOMAIN}/publishers/invites/{name}/accept"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('POST', url, headers, normal_codes=[201])
|
|
|
|
def DeclinePublisherInvite(Authorization: str, name: str) -> dict:
|
|
"""拒绝发布者邀请"""
|
|
url = f"{DOMAIN}/publishers/invites/{name}/decline"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('POST', url, headers, normal_codes=[201])
|
|
|
|
def DeletePublisherMember(Authorization: str, name: str, member_id: str) -> dict:
|
|
"""删除发布者成员"""
|
|
url = f"{DOMAIN}/publishers/{name}/members/{member_id}"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('DELETE', url, headers, normal_codes=[204])
|
|
|
|
def PostIndividualPublisher(Authorization: str, name: str, nick: Optional[str] = None, bio: Optional[str] = None, picture_id: Optional[str] = None, background_id: Optional[str] = None) -> dict:
|
|
"""创建个人发布者"""
|
|
body = {
|
|
"name": name,
|
|
"nick": nick,
|
|
"bio": bio,
|
|
"picture_id": picture_id,
|
|
"background_id": background_id,
|
|
}
|
|
url = f"{DOMAIN}/publishers/individual"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
|
|
|
|
def PostOrganizationPublisher(Authorization: str, name: str, realm_slug: str) -> dict:
|
|
"""创建组织发布者"""
|
|
body = {"name": name, "realm_slug": realm_slug}
|
|
url = f"{DOMAIN}/publishers/organization/{realm_slug}"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
|
|
|
|
def GetPublisherMembers(Authorization: str, name: str, offset: int = 0, take: int = 20) -> dict:
|
|
"""获取发布者成员"""
|
|
url = f"{DOMAIN}/publishers/{name}/members"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
params = {"offset": offset, "take": take}
|
|
return _make_request('GET', url, headers, params=params)
|
|
|
|
def GetMyPublisherMember(Authorization: str, name: str) -> dict:
|
|
"""获取我的发布者成员信息"""
|
|
url = f"{DOMAIN}/publishers/{name}/members/me"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('GET', url, headers)
|
|
|
|
def PostPublisherFeature(Authorization: str, name: str, flag: str, expired_at: Optional[str] = None) -> dict:
|
|
"""创建发布者特性"""
|
|
body = {"flag": flag, "expired_at": expired_at}
|
|
url = f"{DOMAIN}/publishers/{name}/features"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
|
|
|
|
def DeletePublisherFeature(Authorization: str, name: str, flag: str) -> dict:
|
|
"""删除发布者特性"""
|
|
url = f"{DOMAIN}/publishers/{name}/features/{flag}"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('DELETE', url, headers, normal_codes=[204])
|
|
|
|
def GetPublisherSubscriptions(Authorization: str) -> dict:
|
|
"""获取发布者订阅状态"""
|
|
url = f"{DOMAIN}/publishers/subscriptions"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('GET', url, headers)
|
|
|
|
def GetPublisherSubscription(Authorization: str, name: str) -> dict:
|
|
"""获取特定发布者的订阅状态"""
|
|
url = f"{DOMAIN}/api/publishers/{name}/subscription"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('GET', url, headers)
|
|
|
|
def PostPublisherSubscribe(Authorization: str, name: str, subscribeRequest: Optional[dict] = None,tier:int=0) -> dict:
|
|
"""订阅特定发布者"""
|
|
RequestsBody={
|
|
"tier":tier
|
|
}
|
|
url = f"{DOMAIN}/api/publishers/{name}/subscribe"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('POST', url, headers, request_body=subscribeRequest)
|
|
|
|
def PostPublisherUnsubscribe(Authorization: str, name: str) -> dict:
|
|
"""取消订阅特定发布者"""
|
|
url = f"{DOMAIN}/api/publishers/{name}/unsubscribe"
|
|
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
|
return _make_request('POST', url, headers)
|