UNPKG

@octopusx/ndk

Version:

octopus x sdk to connect to the octopusx grids and services

189 lines (143 loc) 5.57 kB
import { NewDomain, DomainPermissions,DomainGroup,DomainInvitee, Options } from '../utils/DataSchema'; import request from '../utils/requests'; export default class Domain { options: Options; constructor(options: Options) { this.options = options; this.options.url = process.env.OCX_DOMAIN_BASE_URL || process.env.VUE_APP_OCX_DOMAIN_BASE_URL; } initData(payload: object) { return { "OCX Schema": this.options.version, "OCXType": "Request", "OCXComponent": "OCXDomain", "OCXPayload": payload }; } async setupDomain() { const requestOptions: Options = { ...this.options, } const url = `api/v1/setup`; return request(`POST`, url, requestOptions); } async createDomainNode(data: NewDomain){ const requestOptions: Options = { ...this.options, data: this.initData(data) }; const url = `domain/${this.options.version}/domainnode/invites/initiate`; return request(`POST`, url, requestOptions); } async acceptDomainNode(nodeId: string, data: NewDomain){ const requestOptions: Options = { ...this.options, data: this.initData(data) }; const url = `domain/${this.options.version}/domainnode/invites/accept/${nodeId}`; return request(`PATCH`, url, requestOptions); } async getDomainNodes(){ const requestOptions: Options = { ...this.options }; const url = `domain/${this.options.version}/domainnode/view`; return request(`GET`, url, requestOptions); } async getSingleDomainNode(domainNodeId: string){ const requestOptions: Options = { ...this.options }; const url = `domain/${this.options.version}/domainnode/view/${domainNodeId}`; return request(`GET`, url, requestOptions); } async updateDomainNode(domainNodeId: string, data: NewDomain){ const requestOptions: Options = { ...this.options, data: this.initData(data) }; const url = `domain/${this.options.version}/domainnode/update/${domainNodeId}`; return request(`PATCH`, url, requestOptions); } async deleteDomainNode(domainNodeId: string){ const requestOptions: Options = { ...this.options, }; const url = `domain/${this.options.version}/domainnode/delete/${domainNodeId}`; return request(`DELETE`, url, requestOptions); } async createDomainInvite(data: DomainInvitee){ const requestOptions: Options = { ...this.options, data: this.initData(data) }; const url = `domain/${this.options.version}/domaininvite/register/invitee`; return request(`POST`, url, requestOptions); } async getDomainInvitation(){ const requestOptions: Options = { ...this.options }; const url = `domain/${this.options.version}/domaininvite/view`; return request(`GET`, url, requestOptions); } async getSingleDomainInvite(domainInviteId: string){ const requestOptions: Options = { ...this.options }; const url = `domain/${this.options.version}/domaininvite/view/${domainInviteId}`; return request(`GET`, url, requestOptions); } async updateDomainInviteNode(domainInviteId: string, data: DomainInvitee){ const requestOptions: Options = { ...this.options, data: this.initData(data) }; const url = `domain/${this.options.version}/domaininvite/invites/update/${domainInviteId}`; return request(`PATCH`, url, requestOptions); } async deleteDomainInvite(domainInviteId: string){ const requestOptions: Options = { ...this.options, }; const url = `domain/${this.options.version}/domaininvite/invites/delete/${domainInviteId}`; return request(`DELETE`, url, requestOptions); } async createDomainGroup(data: DomainGroup){ const requestOptions: Options = { ...this.options, data: this.initData(data) }; const url = `domain/${this.options.version}/domaingroup/register`; return request(`POST`, url, requestOptions); } async getDomainGroups(){ const requestOptions: Options = { ...this.options }; const url = `domain/${this.options.version}/domaingroup/view`; return request(`GET`, url, requestOptions); } async getSingleDomainGroup(domainGroupId: string){ const requestOptions: Options = { ...this.options }; const url = `domain/${this.options.version}/domaingroup/view/${domainGroupId}`; return request(`GET`, url, requestOptions); } async updateDomainGroup(domainGroupId: string, data: DomainGroup){ const requestOptions: Options = { ...this.options, data: this.initData(data) }; const url = `domain/${this.options.version}/domaingroup/update/${domainGroupId}`; return request(`PATCH`, url, requestOptions); } async deleteDomainGroup(domainGroupId: string){ const requestOptions: Options = { ...this.options, }; const url = `domain/${this.options.version}/domaingroup/delete/${domainGroupId}`; return request(`DELETE`, url, requestOptions); } }