UNPKG

backendless-console-sdk

Version:

Backendless Console SDK for Node.js and browser

187 lines (185 loc) 7.56 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _cookie = require("./utils/cookie"); var _routes = require("./utils/routes"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var routes = (0, _routes.prepareRoutes)({ getMyAccount: '/console/home/myaccount', updateMyAccount: '/console/home/myaccount/', login: '/console/home/login', loginWithTOTP: '/console/home/otp-login', cloudLogin: '/console/home/cloud/login', cloudLoginWithTOTP: '/console/home/cloud/otp-login', logout: '/console/home/logout', registerDev: '/console/devreg', deleteDev: '/console/developer-suicide', twoFA: '/console/developer/login/2fa', stripeConnect: '/console/developer/stripe-connect', changePassword: '/console/passwordchange', restorePassword: '/console/restorepassword', resendConfirmEmail: '/console/resend', discourseSSO: '/console/discourse/sso', socialLogin: '/console/social/oauth/:type/request_url', devToAutomationWorkspace: '/console/automation/management/:workspaceId/activatedev', stripeConnectionAuth: '/console/community/marketplace/stripe-connect/auth', stripeConnectionToken: '/console/community/marketplace/stripe-connect/token', devToAppTeam: '/:appId/console/activatedev', devPermissions: '/:appId/console/my-permissions' }); /** * * @param req * @param {Context} context */ var _default = function _default(req, context) { return { /** * @param {String=}authKey * @return {Promise|*} */ getAccountInfo: function getAccountInfo(authKey) { var request = req.get(routes.getMyAccount()); if (authKey) { request.set('auth-key', authKey); } return request.send().then(function (account) { context.setAuthKey(account.authKey); return account; }); }, register: function register(userData) { return req.post(routes.registerDev()).send(userData); }, suicide: function suicide() { return req["delete"](routes.deleteDev()).send(); }, /** * @param {String} login * @param {String} password * @return {Promise.<{name:String, email:String, authKey:String}>} */ login: function login(_login, password) { return req.post(routes.login()).unwrapBody(false).send({ login: _login, password: password }).then(function (res) { if (res.body.otpCreated) { return res.body; } return contextifyWithAuthToken(res, context); }); }, loginWithTOTP: function loginWithTOTP(authData) { return req.post(routes.loginWithTOTP()).unwrapBody(false).send(authData).then(function (res) { return contextifyWithAuthToken(res, context); }); }, /** * @param {String} login * @param {String} password * @return {Promise.<{name:String, email:String, authKey:String}>} */ cloudLogin: function cloudLogin(login, password) { return req.post(routes.cloudLogin()).unwrapBody(false).send({ login: login, password: password }).then(function (res) { if (res.body.otpCreated) { return res.body; } return contextifyWithAuthToken(res, context); }); }, cloudLoginWithTOTP: function cloudLoginWithTOTP(authData) { return req.post(routes.cloudLoginWithTOTP()).unwrapBody(false).send(authData).then(function (res) { return contextifyWithAuthToken(res, context); }); }, loginSocial: function loginSocial(type) { return req.get(routes.socialLogin(type)); }, logout: function logout() { return req["delete"](routes.logout()).then(function () { context.setAuthKey(null); if ((0, _cookie.cookieEnabled)()) { (0, _cookie.deleteCookie)('dev-auth-key'); } }); }, restorePassword: function restorePassword(email) { return req.post(routes.restorePassword()).type('application/x-www-form-urlencoded; charset=UTF-8').send('email=' + encodeURIComponent(email)); }, resendConfirmEmail: function resendConfirmEmail(email) { return req.get(routes.resendConfirmEmail()).query({ email: email }); }, updateProfile: function updateProfile(profile) { return req.put(routes.updateMyAccount(), profile); }, registerAndJoinAppTeam: function registerAndJoinAppTeam(appId, confirmationCode, userData) { return req.post(routes.devToAppTeam(appId)).query({ 'confirmation-code': confirmationCode }).unwrapBody(false).send(userData).then(function (res) { return contextifyWithAuthToken(res, context); }); }, registerAndJoinWorkspace: function registerAndJoinWorkspace(workspaceId, confirmationCode, userData) { return req.automation.post(routes.devToAutomationWorkspace(workspaceId)).query({ 'confirmation-code': confirmationCode }).unwrapBody(false).send(userData).then(function (res) { return contextifyWithAuthToken(res, context); }); }, loginToDiscourse: function loginToDiscourse(user, sig, sso) { return req.post(routes.discourseSSO(), { user: user, sig: sig, sso: sso }); }, getPermissions: function getPermissions(appId) { return req.get(routes.devPermissions(appId)); }, completeStripeConnection: function completeStripeConnection(data) { return req.post(routes.stripeConnectionAuth(), data); }, getStripeConnectToken: function getStripeConnectToken() { return req.get(routes.stripeConnectionToken()); }, getStripeConnectAccountId: function getStripeConnectAccountId() { return req.get(routes.stripeConnect()); }, setStripeConnectAccountId: function setStripeConnectAccountId(data) { return req.put(routes.stripeConnect(), data); }, get2FAState: function get2FAState() { return req.get(routes.twoFA()); }, update2FAState: function update2FAState(enabled) { return req.put(routes.twoFA(), { enabled: enabled }); }, changePassword: function changePassword(id, password) { return req.post(routes.changePassword(), { id: id, password: password }); } }; }; exports["default"] = _default; function contextifyWithAuthToken(res, context) { var authKey = (0, _cookie.cookieEnabled)() && (0, _cookie.getCookie)('dev-auth-key') || res.headers['auth-key']; context.setAuthKey(authKey); return _objectSpread(_objectSpread({}, res.body), {}, { authKey: authKey }); }