UNPKG

baasic-sdk-javascript

Version:

JavaScript SDK provides core functionality for building web and mobile applications on [Baasic](http://www.baasic.com/).

100 lines (99 loc) 4.98 kB
"use strict"; /*global module */ /** * @module templatingRoute * @description Baasic Templating Route Definition provides Baasic route templates which can be expanded to Baasic REST URIs. Various services can use Baasic Templating Route Definition to obtain a needed routes while other routes will be obtained through HAL. By convention, all route services use the same function names as their corresponding services. */ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var inversify_1 = require("inversify"); var common_1 = require("../../common"); ; var _1 = require("./"); var contracts_1 = require("../../core/contracts"); var TemplatingRoute = /** @class */ (function (_super) { tslib_1.__extends(TemplatingRoute, _super); function TemplatingRoute(appOptions, templatingBatchRoute) { var _this = _super.call(this, appOptions) || this; _this.appOptions = appOptions; _this.templatingBatchRoute = templatingBatchRoute; _this.findRoute = 'templates/{?searchQuery,page,rpp,sort,embed,fields,moduleNames}'; _this.getRoute = 'templates/{id}/{?embed,fields}'; _this.createRoute = 'templates'; _this.updateRoute = 'templates/{id}'; _this.deleteRoute = 'templates/{id}'; return _this; } Object.defineProperty(TemplatingRoute.prototype, "batch", { get: function () { return this.templatingBatchRoute; }, enumerable: true, configurable: true }); /** * Parses find route which can be expanded with additional options. Supported items are: * - `searchQuery` - A string value used to identify template resources using the phrase search. * - `page` - A value used to set the page number, i.e. to retrieve certain template subset from the storage. * - `rpp` - A value used to limit the size of result set per page. * - `sort` - A string used to set the template property to sort the result collection by. * - `embed` - Comma separated list of resources to be contained within the current representation. * @method * @param options Query resource options. * @example templatingRoute.find({searchQuery: '<search-phrase>'}); **/ TemplatingRoute.prototype.find = function (options) { return _super.prototype.baseFind.call(this, this.findRoute, options); }; /** * Parses get route which must be expanded with the Id of the previously created template resource in the system. * @method * @param id Template id which uniquely identifies Template resource that needs to be retrieved. * @param options Query resource options object. * @example templatingRoute.get({id: '<template-id>'}); **/ TemplatingRoute.prototype.get = function (id, options) { return _super.prototype.baseGet.call(this, this.getRoute, id, options); }; /** * Parses create route; this URI template does not expose any additional options. * @method * @example templatingRoute.create(); **/ TemplatingRoute.prototype.create = function () { return _super.prototype.baseCreate.call(this, this.createRoute, {}); }; /** * Parses update route; this URI template does not expose any additional options. * @method * @param data An template object used to update specified Template resource. * @example templatingRoute.update(data); **/ TemplatingRoute.prototype.update = function (data) { return _super.prototype.baseUpdate.call(this, this.updateRoute, data); }; /** * Parses delete route; this URI template does not expose any additional options. * @method * @param data An template object used to delete specified Template resource. * @example templatingRoute.update(data); **/ TemplatingRoute.prototype.delete = function (data) { return _super.prototype.baseDelete.call(this, this.deleteRoute, data); }; TemplatingRoute = tslib_1.__decorate([ inversify_1.injectable(), tslib_1.__param(0, inversify_1.inject(contracts_1.TYPES.IAppOptions)), tslib_1.__param(1, inversify_1.inject(_1.TYPES.TemplatingBatchRoute)), tslib_1.__metadata("design:paramtypes", [Object, _1.TemplatingBatchRoute]) ], TemplatingRoute); return TemplatingRoute; }(common_1.BaseRoute)); exports.TemplatingRoute = TemplatingRoute; /** * @overview ***Notes:** - Refer to the [REST API documentation](https://github.com/Baasic/baasic-rest-api/wiki) for detailed information about available Baasic REST API end-points. - [URI Template](https://github.com/Baasic/uritemplate-js) syntax enables expanding the Baasic route templates to Baasic REST URIs providing it with an object that contains URI parameters. - All end-point objects are transformed by the associated route definition. */