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
JavaScript
;
/*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.
*/