UNPKG

backendless-console-sdk

Version:

Backendless Console SDK for Node.js and browser

139 lines (132 loc) 6.64 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); 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 _urls = _interopRequireDefault(require("./urls")); 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 normalizeValue = function normalizeValue(value) { return typeof value === 'string' ? value : JSON.stringify(value); }; var normalizeResponse = function normalizeResponse(res) { return Object.keys(res).map(function (key) { var _res$key = res[key], expireAt = _res$key.expireAt, value = _res$key.value; return { objectId: key, value: normalizeValue(value), expireAt: expireAt, key: key }; }); }; var Cache = /*#__PURE__*/function (_BaseService) { (0, _inherits2["default"])(Cache, _BaseService); var _super = _createSuper(Cache); function Cache(req) { var _this; (0, _classCallCheck2["default"])(this, Cache); _this = _super.call(this, req); _this.serviceName = 'cache'; return _this; } /** * @typedef {Object} getCacheData__params * @paramDef {"type":"number","label":"Page Size","name":"pageSize","description":"Number of cache entries to return per page","required":false} * @paramDef {"type":"number","label":"Offset","name":"offset","description":"Number of cache entries to skip for pagination","required":false} */ /** * @aiToolName Get Cache Data * @category Data * @description Retrieves cache entries with pagination support and returns both data and total count. * @paramDef {"type":"string","name":"appId","label":"Application ID","description":"The identifier of the application","required":true} * @paramDef {"type":"getCacheData__params","name":"params","label":"Pagination Parameters","description":"Optional parameters for pagination","required":true} * @sampleResult {"data":[{"objectId":"user:123","value":"John Doe","expireAt":1700000000000,"key":"user:123"}],"totalRows":25} */ (0, _createClass2["default"])(Cache, [{ key: "get", value: function get(appId, params) { var _ref = params || {}, pageSize = _ref.pageSize, offset = _ref.offset; return Promise.all([this.req.get(_urls["default"].cache(appId)).query({ pagesize: pageSize, offset: offset }).then(normalizeResponse), this.count(appId)]).then(function (_ref2) { var _ref3 = (0, _slicedToArray2["default"])(_ref2, 2), data = _ref3[0], totalRows = _ref3[1]; return { data: data, totalRows: totalRows }; }); } /** * @aiToolName Count Cache Entries * @category Data * @description Returns the total number of cache entries in the application. * @paramDef {"type":"string","name":"appId","label":"Application ID","description":"The identifier of the application","required":true} * @sampleResult 42 */ }, { key: "count", value: function count(appId) { return this.req.get("".concat(_urls["default"].cache(appId), "/count")); } /** * @typedef {Object} updateCacheEntry__record * @paramDef {"type":"string","label":"Key","name":"key","description":"The cache key (either key or objectId is required)","required":false} * @paramDef {"type":"string","label":"Object ID","name":"objectId","description":"Alternative identifier for the cache entry","required":false} * @paramDef {"type":"any","label":"Value","name":"value","description":"The value to be cached (can be any type, will be JSON stringified)","required":true} * @paramDef {"type":"string","label":"Expire At","name":"expireAt","description":"ISO date string when the cache entry should expire","required":false} */ /** * @aiToolName Update Cache Entry * @category Data * @description Updates or creates a cache entry with the specified key, value, and expiration time. * @paramDef {"type":"string","name":"appId","label":"Application ID","description":"The identifier of the application","required":true} * @paramDef {"type":"updateCacheEntry__record","name":"record","label":"Cache Record","description":"The cache entry data","required":true} * @sampleResult "" */ }, { key: "update", value: function update(appId, record) { var key = record.key, value = record.value, expireAt = record.expireAt, objectId = record.objectId; var id = key || objectId; return this.req.put(_urls["default"].cache(appId, id), JSON.stringify(value)).query({ expireAt: expireAt }).type('application/json'); } /** * @aiToolName Remove Cache Entry * @category Data * @description Permanently removes a cache entry by its key. * @paramDef {"type":"string","name":"appId","label":"Application ID","description":"The identifier of the application","required":true} * @paramDef {"type":"string","name":"key","label":"Cache Key","description":"The key of the cache entry to be removed","required":true} * @sampleResult "" */ }, { key: "remove", value: function remove(appId, key) { return this.req["delete"](_urls["default"].cache(appId, key)); } }]); return Cache; }(_baseService["default"]); var _default = exports["default"] = function _default(req) { return Cache.create(req); };