backendless-console-sdk
Version:
Backendless Console SDK for Node.js and browser
204 lines (196 loc) • 9.51 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _routes = require("./utils/routes");
var _baseService = _interopRequireDefault(require("./base/base-service"));
function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = (0, _getPrototypeOf2["default"])(t); if (r) { var s = (0, _getPrototypeOf2["default"])(this).constructor; e = Reflect.construct(o, arguments, s); } else e = o.apply(this, arguments); return (0, _possibleConstructorReturn2["default"])(this, e); }; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable max-len */
var routes = (0, _routes.prepareRoutes)({
apps: '/console/applications',
appFromZip: '/console/applications/from-zip',
appFromZipURL: '/console/applications/from-zip-url',
app: '/:appId/console/application',
appDevOptions: '/:appId/console/developer/options',
appReset: '/:appId/console/appreset',
appClone: '/:appId/console/cloneApp',
appCloneProcess: '/:appId/console/cloneApp/:processId',
appTransfer: '/:appId/console/application/transfer',
appsInfo: '/console/apps-info',
appInfo: '/:appId/console/app-info',
appInfoLogo: '/:appId/console/app-info/logos',
suggestedGeneratedDomains: '/console/applications/suggested-generated-domains'
});
var Apps = /*#__PURE__*/function (_BaseService) {
(0, _inherits2["default"])(Apps, _BaseService);
var _super = _createSuper(Apps);
function Apps(req) {
var _this;
(0, _classCallCheck2["default"])(this, Apps);
_this = _super.call(this, req);
_this.serviceName = 'apps';
return _this;
}
(0, _createClass2["default"])(Apps, [{
key: "createApp",
value: function createApp(app, query) {
return this.req.post(routes.apps(), app).query(query);
}
}, {
key: "createAppFromZIP",
value: function createAppFromZIP(app) {
return this.req.post(routes.appFromZip(), app);
}
}, {
key: "createAppFromZipUrl",
value: function createAppFromZipUrl(data) {
return this.req.post(routes.appFromZipURL(), data);
}
/**
* @aiToolName Get Applications
* @category Apps Management
* @description Retrieves a list of applications for the specified zone.
* @paramDef {"type":"string","name":"zone","label":"Zone","description":"The deployment zone. Valid values: 'US' or 'EU'","required":true}
* @sampleResult [{"version":"6.0.0","created":1700000000000,"subscriptionId":null,"originDomains":"*","customDomains":[],"showKitApiKey":null,"dbVersion":165,"lastDayOfUse":1700000001000,"ownerDeveloperId":"DEV-ID-123","zoneId":1,"oldGeoServiceEnabled":false,"type":"general","metaInfo":{"source":null,"enabledPanicModes":[],"compliance":{"hipaa":null},"mongoDbVersion":10,"useOldTableRelationsFormat":false},"id":"APP-ID-123","name":"MyApp"},{"version":"6.0.0","created":1700000002000,"subscriptionId":"SUB-456","originDomains":"*","customDomains":[],"showKitApiKey":null,"dbVersion":165,"lastDayOfUse":1700000003000,"ownerDeveloperId":"DEV-ID-123","zoneId":1,"oldGeoServiceEnabled":false,"type":"general","metaInfo":{"source":null,"enabledPanicModes":[],"compliance":{"hipaa":null},"mongoDbVersion":10,"useOldTableRelationsFormat":false},"id":"APP-ID-456","name":"TestApp"}]
*/
}, {
key: "getApps",
value: function getApps(zone) {
return this.req.get(routes.apps()).query({
zone: zone
});
}
}, {
key: "resetApp",
value: function resetApp(appId, resets) {
return this.req.post(routes.appReset(appId), resets);
}
/**
* @aiToolName Rename Application
* @category Apps Management
* @description Changes the name of an existing application.
* @paramDef {"type":"string","name":"appId","label":"Application ID","description":"The identifier of the application to rename","required":true}
* @paramDef {"type":"string","name":"appName","label":"New App Name","description":"The new name for the application","required":true}
* @sampleResult {"appName":"RenamedApp","appId":"APP-ID-123","version":"6.0.0","created":1700000000000,"subscriptionId":"SUB-456","originDomains":"*","customDomains":[],"showKitApiKey":null,"dbVersion":165,"lastDayOfUse":1700000001000,"ownerDeveloperId":"DEV-ID-123","zoneId":1,"oldGeoServiceEnabled":false,"type":"general","metaInfo":{"source":null,"enabledPanicModes":[],"compliance":{"hipaa":null},"mongoDbVersion":10,"useOldTableRelationsFormat":false}}
*/
}, {
key: "renameApp",
value: function renameApp(appId, appName) {
return this.req.put(routes.app(appId), {
appName: appName
});
}
/**
* @aiToolName Delete Application
* @category Apps Management
* @description Permanently deletes an application and all its data.
* @paramDef {"type":"string","name":"appId","label":"Application ID","description":"The identifier of the application to delete","required":true}
* @sampleResult {"success":true}
*/
}, {
key: "deleteApp",
value: function deleteApp(appId) {
return this.req["delete"](routes.app(appId));
}
}, {
key: "cloneApp",
value: function cloneApp(appId, newApp) {
return this.req.post(routes.appClone(appId), newApp);
}
/**
* @aiToolName Generate App ZIP
* @category Apps Management
* @description Generates a ZIP archive of the application for backup or transfer.
* @paramDef {"type":"string","name":"appId","label":"Application ID","description":"The identifier of the application to archive","required":true}
* @sampleResult "Application transfer started. At the end, you will receive an email with the link to download zip file."
*/
}, {
key: "generateAppZIP",
value: function generateAppZIP(appId) {
return this.req.post(routes.appTransfer(appId));
}
}, {
key: "getCloningAppStatus",
value: function getCloningAppStatus(appId, processId) {
return this.req.get(routes.appCloneProcess(appId, processId));
}
}, {
key: "loadAppsMenuItems",
value: function loadAppsMenuItems() {
return this.req.get('/console/applications/menu-items');
}
}, {
key: "loadAppFavorites",
value: function loadAppFavorites(appId, devId) {
return this.req.get('/console/applications/app-favorites').query({
appId: appId,
devId: devId
});
}
/**
* @aiToolName Load Apps Info
* @category Apps Management
* @description Retrieves detailed information for multiple applications.
* @paramDef {"type":"array","name":"appsIds","label":"App IDs","description":"List of application identifiers","required":true}
* @sampleResult [{"id":"APP-ID-123","name":"MyApp","version":"6.0.0","created":1700000000000},{"id":"APP-ID-456","name":"TestApp","version":"6.0.0","created":1700000001000}]
*/
}, {
key: "loadAppsInfo",
value: function loadAppsInfo(appsIds) {
return this.req.get(routes.appsInfo()).query({
appsIds: appsIds
});
}
/**
* @typedef {Object} updateAppInfo__info
* @property {string} appName - The new name for the application
* @property {string} devEmail - Developer email address
*/
/**
* @aiToolName Update App Info
* @category Apps Management
* @description Updates the information and metadata of an application.
* @paramDef {"type":"string","name":"appId","label":"Application ID","description":"The identifier of the application","required":true}
* @paramDef {"type":"updateAppInfo__info","name":"info","label":"App Information","description":"Object containing updated application information","required":true}
* @sampleResult {"appId":"APP-ID-123","devEmail":"developer@example.com","appName":"UpdatedAppName"}
*/
}, {
key: "updateAppInfo",
value: function updateAppInfo(appId, info) {
return this.req.post(routes.appInfo(appId), info);
}
}, {
key: "updateAppLogo",
value: function updateAppLogo(appId, logo) {
return this.req.post(routes.appInfoLogo(appId), logo);
}
}, {
key: "generateSubdomains",
value: function generateSubdomains(zone) {
return this.req.get(routes.suggestedGeneratedDomains()).query({
zone: zone
});
}
}, {
key: "getAppDevOptions",
value: function getAppDevOptions(appId) {
return this.req.get(routes.appDevOptions(appId));
}
}, {
key: "updateAppDevOptions",
value: function updateAppDevOptions(appId, options) {
return this.req.put(routes.appDevOptions(appId), options);
}
}]);
return Apps;
}(_baseService["default"]);
var _default = exports["default"] = function _default(req) {
return Apps.create(req);
};