cryo-groupx-sdk
Version:
SDK for group-x.xyz Public API
1 lines • 2.18 kB
JavaScript
var __awaiter=this&&this.__awaiter||function(r,i,l,n){return new(l=l||Promise)(function(t,a){function o(r){try{s(n.next(r))}catch(r){a(r)}}function e(r){try{s(n.throw(r))}catch(r){a(r)}}function s(r){var a;r.done?t(r.value):((a=r.value)instanceof l?a:new l(function(r){r(a)})).then(o,e)}s((n=n.apply(r,i||[])).next())})};import axios from"axios";import{logger}from"ethers";import*as client from"./client";import{globals}from"./common";import{ApiError}from"./types";class Platform{constructor(r){this.guild=Object.assign(Object.assign({},client.group),{get:a=>__awaiter(this,void 0,void 0,function*(){var r=yield axios.get(`${globals.apiBaseUrl}/platform/guild/${this.platformName}/`+a,{headers:globals.headers});return 204===r.status?null:r.data}),getUserAccess:(r,a)=>__awaiter(this,void 0,void 0,function*(){return(yield axios.get(`${globals.apiBaseUrl}/platform/guild/access/${this.platformName}/${r}/`+a,{headers:globals.headers})).data})}),this.user=Object.assign(Object.assign({},client.user),{join:(t,o,e)=>__awaiter(this,void 0,void 0,function*(){try{var r={platformName:this.platformName,platformProjectId:t,platformUserId:o,platformUserData:e},a=yield axios.post(globals.apiBaseUrl+"/platform/user/join",r,{headers:globals.headers});return null==a?void 0:a.data}catch(r){throw logger.warn(r),axios.isAxiosError(r)&&r.response.data.errors?new ApiError(r.response.data.errors):r}}),leave:(t,o,e)=>__awaiter(this,void 0,void 0,function*(){try{var r={platformName:this.platformName,platformProjectId:t,platformUserId:o,platformUserData:e},a=yield axios.post(globals.apiBaseUrl+"/platform/user/leave",r,{headers:globals.headers});return null==a?void 0:a.data}catch(r){throw logger.warn(r),axios.isAxiosError(r)&&r.response.data.errors?new ApiError(r.response.data.errors):r}}),status:t=>__awaiter(this,void 0,void 0,function*(){try{var r={platformName:this.platformName,platformUserId:t},a=yield axios.post(globals.apiBaseUrl+"/platform/user/status",r,{headers:globals.headers});return null==a?void 0:a.data}catch(r){throw axios.isAxiosError(r)&&r.response.data.errors?new ApiError(r.response.data.errors):r}})}),this.role=client.role,this.platformName=r}}export{Platform};