@smontero/ppp-client-api
Version:
Project People & Profile client api
317 lines (269 loc) • 10.7 kB
JavaScript
;
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;