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)