@octopusx/ndk
Version:
octopus x sdk to connect to the octopusx grids and services
189 lines (143 loc) • 5.57 kB
text/typescript
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);
}
}