Files
SolianForPython/core/SNAPI/Realm.py
2025-09-13 06:57:12 +00:00

118 lines
5.1 KiB
Python

from ProjectCfg import DOMAIN
from CallServer import _make_request
###==========================领域部分==========================
def GetRealm(slug:str,Authorization: str = '') -> dict:
"""获取领域详情"""
url = f"{DOMAIN}/realms/{slug}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def ModifyRealm(slug:str,Authorization: str ,name:str='',description:str='',picture_id:str='',background_id:str='',is_community:bool=True,is_public:bool=True) -> dict:
"""修改领域"""
request_body={
"slug": slug,
"name": name,
"description": description,
"picture_id": picture_id,
"background_id": background_id,
"is_community": is_community,
"is_public": is_public
}
url = f"{DOMAIN}/realms/{slug}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers,request_body=request_body,normal_codes=[201])
def DeleteRealm(slug:str,Authorization: str) -> dict:
"""删除领域"""
url = f"{DOMAIN}/realms/{slug}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers,normal_codes=[204])
def GetJoinedRealms(Authorization: str) -> dict:
"""获取加入的领域"""
url = f"{DOMAIN}/realms"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def CreateRealm(slug:str,Authorization: str,name:str='',description:str='',picture_id:str='',background_id:str='',is_community:bool=True,is_public:bool=True) -> dict:
"""创建领域"""
request_body={
"slug": slug,
"name": name,
"description": description,
"picture_id": picture_id,
"background_id": background_id,
"is_community": is_community,
"is_public": is_public
}
url = f"{DOMAIN}/realms"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,request_body=request_body,normal_codes=[201])
def GetRealmInvites(Authorization: str) -> dict:
"""获取领域邀请"""
url = f"{DOMAIN}/realms/invites"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def SendRealmInvite(slug:str,Authorization: str,user_id:str,role:int=0) -> dict:
"""发送领域邀请"""
request_body={
"related_user_id": user_id,
"role": role
}
url = f"{DOMAIN}/realms/invites/{slug}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,request_body=request_body,normal_codes=[201])
def AcceptRealmInvite(slug:str,Authorization: str) -> dict:
"""接受领域邀请"""
url = f"{DOMAIN}/realms/invites/{slug}/accept"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,normal_codes=[201])
def DeclineRealmInvite(slug:str,Authorization: str) -> dict:
"""拒绝领域邀请"""
url = f"{DOMAIN}/realms/invites/{slug}/decline"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,normal_codes=[201])
def GetRealmMembers(slug:str,Authorization: str,offset:int=0,take:int=20,withStatus:bool=False) -> dict:
"""获取领域成员"""
url = f"{DOMAIN}/realms/{slug}/members"
params = {"offset":offset,"take":take,"withStatus":withStatus}
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers,params=params)
def GetRealmMemberMe(slug:str,Authorization: str) -> dict:
"""获取领域成员"""
url = f"{DOMAIN}/realms/{slug}/members/me"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def LeaveRealm(slug:str,Authorization: str) -> dict:
"""退出领域"""
url = f"{DOMAIN}/realms/{slug}/members/me"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers,normal_codes=[204])
def JoinRealm(slug:str,Authorization: str) -> dict:
"""加入领域"""
url = f"{DOMAIN}/realms/{slug}/members/me"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,normal_codes=[201])
def KickMemberRealm(slug:str,Authorization: str,user_id:str) -> dict:
"""踢出领域成员"""
url = f"{DOMAIN}/realms/{slug}/members/{user_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers,normal_codes=[204])
def SetMemberRoleRealm(slug:str,Authorization: str,user_id:str,role:int) -> dict:
"""设置领域成员角色"""
url = f"{DOMAIN}/realms/{slug}/members/{user_id}/role"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers,normal_codes=[201],request_body=role)