@octopusx/ndk
Version:
octopus x sdk to connect to the octopusx grids and services
71 lines (61 loc) • 1.96 kB
text/typescript
import { Options, NewRequest } from "../utils/DataSchema";
import request from "../utils/requests";
export default class Access {
options: Options;
constructor(options: Options) {
this.options = options;
this.options.url = process.env.OCX_ACCESS_BASE_URL || process.env.VUE_APP_OCX_ACCESS_BASE_URL;
}
initData(payload: object) {
return {
"OCX Schema": this.options.version,
"OCXType": "Request",
"OCXComponent": "OCXAccess",
"OCXPayload": payload
};
}
async setupAccess() {
const requestOptions: Options = {
...this.options
};
const url = `access/${this.options.version}/setup`;
return request(`POST`, url, requestOptions);
}
async rollbackAccess() {
const requestOptions: Options = {
...this.options
};
const url = `access/${this.options.version}/setup/rollback`;
return request(`POST`, url, requestOptions);
}
async registerRoute(data: NewRequest) {
const requestOptions: Options = {
...this.options,
data: this.initData(data)
};
const url = `access/v1/routes/register`;
return request(`POST`, url, requestOptions);
}
async getRoutes(){
const requestOptions: Options = {
...this.options
};
const url = `access/v1/routes/view`;
return request(`GET`, url, requestOptions);
}
async fetchSingleRoute(routeId: string){
const requestOptions: Options = {
...this.options
};
const url = `access/${this.options.version}/routes/view/${routeId}`;
return request(`GET`, url, requestOptions);
}
async unRegisterRoute(routeId: string){
const requestOptions: Options = {
...this.options,
data: this.initData({})
};
const url = `access/${this.options.version}/routes/unregister/${routeId}`;
return request(`DELETE`, url, requestOptions);
}
}