UNPKG

backendless-console-sdk

Version:

Backendless Console SDK for Node.js and browser

204 lines (196 loc) 9.51 kB
"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); };