UNPKG

@smontero/ppp-client-api

Version:

Project People & Profile client api

317 lines (269 loc) 10.7 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _ = _interopRequireDefault(require("..")); var _BaseApi2 = _interopRequireDefault(require("./BaseApi")); var _RequestApi = _interopRequireDefault(require("./RequestApi")); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } /** * @desc Enables the interaction with the profile and comms services. When creating the object * the activeUser has to be passed into the constructor * @see BaseApi */ var OauthApi = /*#__PURE__*/ function (_BaseApi) { (0, _inherits2["default"])(OauthApi, _BaseApi); function OauthApi() { (0, _classCallCheck2["default"])(this, OauthApi); return (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(OauthApi).apply(this, arguments)); } (0, _createClass2["default"])(OauthApi, [{ key: "init", value: function init() { var _this = this; _["default"].events.on('activeUserChanged', function (activeUser) { return _this.setActiveUser(activeUser); }); } }, { key: "_request", value: function () { var _request2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/ _regenerator["default"].mark(function _callee(_ref) { var endpoint, payload, _ref$method, method; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: endpoint = _ref.endpoint, payload = _ref.payload, _ref$method = _ref.method, method = _ref$method === void 0 ? 'post' : _ref$method; return _context.abrupt("return", _RequestApi["default"].request({ endpoint: endpoint, payload: _objectSpread({}, payload, { originAppId: _["default"].originAppId }), apiName: 'profileApi', method: method })); case 2: case "end": return _context.stop(); } } }, _callee); })); function _request(_x) { return _request2.apply(this, arguments); } return _request; }() /** * @desc Verify if the credentials app are correct * @param {String} response_type ****** * @param {String} client_id Telos App id * @param {Array[String]} redirect_uri URL to redirect registered from telos * @param {String} scope ****** * @return {Object} with the following properties: success, app, scope. * @throws error on an unsuccesful call to the service */ }, { key: "authContext", value: function () { var _authContext = (0, _asyncToGenerator2["default"])( /*#__PURE__*/ _regenerator["default"].mark(function _callee2(params) { var response; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return this._request({ endpoint: 'oauth-auth-context', payload: _objectSpread({}, params), method: 'get' }); case 2: response = _context2.sent; return _context2.abrupt("return", response); case 4: case "end": return _context2.stop(); } } }, _callee2, this); })); function authContext(_x2) { return _authContext.apply(this, arguments); } return authContext; }() /** * @desc Verify if the credentials app are correct * @param {String} response_type ****** * @param {String} client_id Telos App id * @param {Array[String]} redirect_uri URL to redirect registered from telos * @param {String} scope ****** * @return {Object} with the following properties: success, app, scope. * @throws error on an unsuccesful call to the service */ }, { key: "authCode", value: function () { var _authCode = (0, _asyncToGenerator2["default"])( /*#__PURE__*/ _regenerator["default"].mark(function _callee3(params) { var response; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return this._request({ endpoint: 'oauth-auth-code', payload: _objectSpread({}, params) }); case 2: response = _context3.sent; return _context3.abrupt("return", response); case 4: case "end": return _context3.stop(); } } }, _callee3, this); })); function authCode(_x3) { return _authCode.apply(this, arguments); } return authCode; }() /** * @desc Retrieves the apps that the user has allowed oauth access to * * @return {Array} of authorizations */ }, { key: "getAuthorizedApps", value: function () { var _getAuthorizedApps = (0, _asyncToGenerator2["default"])( /*#__PURE__*/ _regenerator["default"].mark(function _callee4() { var _ref2, authorizations; return _regenerator["default"].wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return this._request({ endpoint: 'get-authorized-apps' }); case 2: _ref2 = _context4.sent; authorizations = _ref2.authorizations; return _context4.abrupt("return", authorizations); case 5: case "end": return _context4.stop(); } } }, _callee4, this); })); function getAuthorizedApps() { return _getAuthorizedApps.apply(this, arguments); } return getAuthorizedApps; }() /** * @desc Revokes an app's access to the users profile through oauth * * @param {String} appId to revoke access to * @return {object} with success message * @throws error on an unsuccesful call to the service */ }, { key: "revokeAccess", value: function () { var _revokeAccess = (0, _asyncToGenerator2["default"])( /*#__PURE__*/ _regenerator["default"].mark(function _callee5(appId) { return _regenerator["default"].wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: return _context5.abrupt("return", this._request({ endpoint: 'revoke-access', payload: { appId: appId } })); case 1: case "end": return _context5.stop(); } } }, _callee5, this); })); function revokeAccess(_x4) { return _revokeAccess.apply(this, arguments); } return revokeAccess; }() /** * @desc Updates the oauth status of the app, enabling or disabling oauth access. * * @param {String} appId to update status to * @param {boolen} enable boolean value indicating if the oauth should be enabled or disabled * @return {object} with success message * @throws error on an unsuccesful call to the service */ }, { key: "updateAppOauthStatus", value: function () { var _updateAppOauthStatus = (0, _asyncToGenerator2["default"])( /*#__PURE__*/ _regenerator["default"].mark(function _callee6(appId) { var enable, _args6 = arguments; return _regenerator["default"].wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: enable = _args6.length > 1 && _args6[1] !== undefined ? _args6[1] : false; return _context6.abrupt("return", this._request({ endpoint: 'update-app-oauth-status', payload: { appId: appId, enable: enable } })); case 2: case "end": return _context6.stop(); } } }, _callee6, this); })); function updateAppOauthStatus(_x5) { return _updateAppOauthStatus.apply(this, arguments); } return updateAppOauthStatus; }() }]); return OauthApi; }(_BaseApi2["default"]); var _default = OauthApi; exports["default"] = _default;