baasic-sdk-javascript
Version:
JavaScript SDK provides core functionality for building web and mobile applications on [Baasic](http://www.baasic.com/).
92 lines (91 loc) • 4.33 kB
JavaScript
;
/* globals module */
/**
* @module skillRoute
* @description Baasic Skill Route Definition provides Baasic route templates which can be expanded to Baasic REST URIs. Various services can use Baasic Skill Route Service to obtain 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 SkillRoute = /** @class */ (function (_super) {
tslib_1.__extends(SkillRoute, _super);
function SkillRoute(appOptions, skillBatchRoute) {
var _this = _super.call(this, appOptions) || this;
_this.appOptions = appOptions;
_this.skillBatchRoute = skillBatchRoute;
_this.findRoute = 'profile/lookups/skills/{?searchQuery,page,rpp,sort,embed,fields}';
_this.getRoute = 'profile/lookups/skills/{id}/{?embed,fields}';
_this.createRoute = 'profile/lookups/skills';
_this.updateRoute = 'profile/lookups/skills/{id}';
_this.deleteRoute = 'lookups/skills/{id}';
return _this;
}
Object.defineProperty(SkillRoute.prototype, "batch", {
get: function () {
return this.skillBatchRoute;
},
enumerable: true,
configurable: true
});
/**
* Parses find route which can be expanded with additional options. Supported items are:
* - `searchQuery` - A string referencing skill properties using the phrase or BQL (Baasic Query Language) search.
* - `page` - A value used to set the page number, i.e. to retrieve certain skill subset from the storage.
* - `rpp` - A value used to limit the size of result set per page.
* - `sort` - A string used to set the skill 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 object.
* @example skillRoute.find({searchQuery: '<search-phrase>'});
**/
SkillRoute.prototype.find = function (options) {
return _super.prototype.baseFind.call(this, this.findRoute, options);
};
/**
* Parses get route; this route doesn't expose any properties.
* @method
* @param id Skill id which uniquely identifies skill resource that needs to be retrieved.
* @param options Query resource options object.
* @example skillRoute.get(id, options);
**/
SkillRoute.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 skillRoute.create();
**/
SkillRoute.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 A skill object used to update specified skill resource.
* @example skillRoute.update(data);
**/
SkillRoute.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 A skill object used to delete specified skill resource.
* @example skillRoute.delete(data);
**/
SkillRoute.prototype.delete = function (data) {
return _super.prototype.baseDelete.call(this, this.deleteRoute, data);
};
SkillRoute = tslib_1.__decorate([
tslib_1.__param(0, inversify_1.inject(contracts_1.TYPES.IAppOptions)),
tslib_1.__param(1, inversify_1.inject(_1.TYPES.SkillBatchRoute)),
tslib_1.__metadata("design:paramtypes", [Object, _1.SkillBatchRoute])
], SkillRoute);
return SkillRoute;
}(common_1.BaseRoute));
exports.SkillRoute = SkillRoute;