@becomes/cms-cloud-client
Version:
SDK for accessing BCMS Cloud API
121 lines (120 loc) • 3.59 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.InstanceHandler = void 0;
class InstanceHandler {
sdk;
getAllLatch = false;
baseUrl = '/v2/instance';
constructor(sdk) {
this.sdk = sdk;
}
async getAll() {
if (this.getAllLatch) {
return this.sdk.store.instance.items();
}
const result = await this.sdk.send({
url: `${this.baseUrl}/all`,
method: 'GET',
});
this.sdk.store.instance.set(result.items);
this.getAllLatch = true;
return result.items;
}
async getById(data) {
if (!data.skipCache) {
const cacheHit = this.sdk.store.instance.findById(data.instanceId);
if (cacheHit) {
return cacheHit;
}
}
const result = await this.sdk.send({
url: `${this.baseUrl}/${data.instanceId}`,
method: 'GET',
});
this.sdk.store.instance.set(result.item);
return result.item;
}
async create(data) {
const result = await this.sdk.send({
url: `${this.baseUrl}`,
method: 'POST',
data,
});
this.sdk.store.instance.set(result.item);
return result.item;
}
async update(data) {
const result = await this.sdk.send({
url: `${this.baseUrl}/${data.instanceId}`,
method: 'PUT',
data,
});
this.sdk.store.instance.set(result.item);
return result.item;
}
async upgrade(data) {
const result = await this.sdk.send({
url: `${this.baseUrl}/${data.instanceId}/upgrade`,
method: 'PUT',
data,
});
this.sdk.store.instance.set(result.item);
return result.item;
}
async issueDownloadLicenseCode(data) {
await this.sdk.send({
url: `${this.baseUrl}/${data.instanceId}/issue-download-license-code`,
method: 'POST',
data,
});
}
async downloadLicenseWithCode(data) {
const result = await this.sdk.send({
url: `${this.baseUrl}/${data.instanceId}/download-license-with-code`,
method: 'POST',
data,
});
return result.license;
}
async downloadLicenseWithPaddleCode(data) {
const result = await this.sdk.send({
url: `${this.baseUrl}/paddle/download`,
method: 'POST',
data,
});
return result;
}
async openCloseLogs(data) {
await this.sdk.send({
url: `${this.baseUrl}/${data.instanceId}/open-close-logs`,
method: 'POST',
data,
});
}
async removeUsers(data) {
const result = await this.sdk.send({
url: `${this.baseUrl}/${data.instanceId}/remove-users`,
method: 'POST',
data: {
users: data.users,
},
});
this.sdk.store.instance.set(result.item);
}
async updateUsers(data) {
const result = await this.sdk.send({
url: `${this.baseUrl}/${data.instanceId}/update-users`,
method: 'POST',
data,
});
this.sdk.store.instance.set(result.item);
}
async getPaddleSubInfo(data) {
const result = await this.sdk.send({
url: `${this.baseUrl}/${data.instanceId}/paddle-sub-info`,
method: 'GET',
});
return result.item;
}
}
exports.InstanceHandler = InstanceHandler;