UNPKG

baasic-sdk-javascript

Version:

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

78 lines (77 loc) 3.87 kB
"use strict"; /* globals module */ /** * @module userSocialLoginRoute * @description Baasic User Social Login Route Definition provides Baasic route templates which can be expanded to Baasic REST URIs. Various services can use Baasic User 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 UserSocialLoginRoute = /** @class */ (function (_super) { tslib_1.__extends(UserSocialLoginRoute, _super); function UserSocialLoginRoute(appOptions) { var _this = _super.call(this, appOptions) || this; _this.appOptions = appOptions; /** * Get route with route and query parameters. **/ _this.getRoute = 'users/{username}/social-login'; /** * Remove route with route and query parameters. **/ _this.removeRoute = 'users/{username}/social-login/{provider}'; return _this; } /** * Parses get social login route, URI template should be expanded with the username of the user resource whose social login connections should be retrieved. * @method * @param username A username or id which uniquely identifies user resource whose social login connections need to be retrieved. * @example userSocialLoginRoute.get('<username>'); **/ UserSocialLoginRoute.prototype.get = function (username) { return _super.prototype.baseGet.call(this, this.getRoute, username, { username: username }); }; /** * Parses remove social login route which can be expanded with additional items. Supported items are: * - `username` - A username which uniquely identifies an application user whose social login connection needs to be removed. * - `provider` - Provider from which to disconnect the login resource from. * @method * @param username A username which uniquely identifies an application user whose social login connection needs to be removed. * @param provider Provider from which to disconnect the login resource from. * @example userSocialLoginRoute.remove('<username>', '<provider>'); **/ UserSocialLoginRoute.prototype.remove = function (username, provider) { var params; if (provider.hasOwnProperty('abrv')) { params = { provider: provider.abrv }; } else if (provider.hasOwnProperty('id')) { params = { provider: provider.id }; } else { params = this.utility.extend({}, provider); } params.username = username; return _super.prototype.baseFind.call(this, this.removeRoute, params); }; UserSocialLoginRoute = tslib_1.__decorate([ inversify_1.injectable(), tslib_1.__param(0, inversify_1.inject(contracts_1.TYPES.IAppOptions)), tslib_1.__metadata("design:paramtypes", [Object]) ], UserSocialLoginRoute); return UserSocialLoginRoute; }(common_1.BaseRoute)); exports.UserSocialLoginRoute = UserSocialLoginRoute; /** * @overview ***Notes:** - Refer to the [Baasic REST API](http://dev.baasic.com/api/reference/home) 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. */