baasic-sdk-javascript
Version:
JavaScript SDK provides core functionality for building web and mobile applications on [Baasic](http://www.baasic.com/).
66 lines (65 loc) • 3.56 kB
JavaScript
;
/* globals module */
/**
* @module articleSubscriptionsArticleRoute
* @description Baasic Article Subscriptions Article Route Definition provides Baasic route templates which can be expanded to Baasic REST URIs. Various services can use Baasic Article Subscriptions Article 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 contracts_1 = require("../../../core/contracts");
var ArticleSubscriptionsArticleRoute = /** @class */ (function (_super) {
tslib_1.__extends(ArticleSubscriptionsArticleRoute, _super);
function ArticleSubscriptionsArticleRoute(appOptions) {
var _this = _super.call(this, appOptions) || this;
_this.appOptions = appOptions;
_this.subscribeRoute = 'articles/{articleId}/subscriptions';
_this.isSubscribedRoute = 'articles/{articleId}/subscriptions/{subscriberId}';
_this.unSubscribeRoute = 'articles/{articleId}/subscriptions';
return _this;
}
/**
* Parses article subscribe route which must be expanded with id of the article.
* @method
* @param article The article identifier.
* @param data The subscribe information.
* @example articleSubscriptionsArticleRoute.subscribe({id: '<article-id>'});
**/
ArticleSubscriptionsArticleRoute.prototype.subscribe = function (article, data) {
var params = this.utility.extend(article, data);
return _super.prototype.baseCreate.call(this, this.subscribeRoute, params);
};
/**
* Parses article isSubscribed route which must be expanded with subscriber Id and the id of the article.
* @method
* @param article The article identifier.
* @param data The subscriber identifier.
* @example articleRoute.subscriptions.article.isSubscribed.expand({id: '<article-id>', subscriberId: '<subscriber-id>' });
**/
ArticleSubscriptionsArticleRoute.prototype.isSubscribed = function (article, data) {
var params = this.utility.extend(article, data);
return _super.prototype.baseCreate.call(this, this.isSubscribedRoute, params);
};
/**
* Parses article unSubscribe route which must be expanded with the id of the article.
* @method
* @param article The article identifier.
* @param data The unsubscribe information.
* @example articleSubscriptionsArticleRoute.unSubscribe({id: '<article-id>'});
**/
ArticleSubscriptionsArticleRoute.prototype.unSubscribe = function (article, data) {
var params = this.utility.extend(article, data);
return _super.prototype.baseCreate.call(this, this.unSubscribeRoute, params);
};
ArticleSubscriptionsArticleRoute.prototype.subscribeParams = function (article, data) {
return this.utility.extend(article, data);
};
ArticleSubscriptionsArticleRoute = tslib_1.__decorate([
inversify_1.injectable(),
tslib_1.__param(0, inversify_1.inject(contracts_1.TYPES.IAppOptions)),
tslib_1.__metadata("design:paramtypes", [Object])
], ArticleSubscriptionsArticleRoute);
return ArticleSubscriptionsArticleRoute;
}(common_1.BaseRoute));
exports.ArticleSubscriptionsArticleRoute = ArticleSubscriptionsArticleRoute;