UNPKG

@arc-publishing/sdk-identity

Version:
52 lines 2.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.relinkGoogleAccount = void 0; var tslib_1 = require("tslib"); var JSONResponseHandler_1 = tslib_1.__importDefault(require("../serviceHelpers/JSONResponseHandler")); var constants_1 = require("./constants"); var identity_1 = tslib_1.__importDefault(require("./identity")); var userIdentity_1 = require("./userIdentity"); var getSwgAccessToken_1 = require("./getSwgAccessToken"); var googleSignOn_1 = require("./googleSignOn"); var relinkGoogleAccount = function (accessToken) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var headers, subscriptionToken; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: console.error(googleSignOn_1.deprecationMessage); headers = tslib_1.__assign({}, constants_1.headers); if (!(identity_1.default.userIdentity && identity_1.default.userIdentity.accessToken && identity_1.default.userIdentity.refreshToken)) return [3, 2]; return [4, identity_1.default.heartbeat()]; case 1: _a.sent(); headers['Authorization'] = "Bearer ".concat(identity_1.default.userIdentity.accessToken); return [3, 3]; case 2: throw new Error('[Arc Identity SDK] no logged in user found.'); case 3: return [4, identity_1.default.getSwgAccessToken()]; case 4: subscriptionToken = _a.sent(); if (!(0, getSwgAccessToken_1.isSwgAccessTokenResponse)(subscriptionToken)) { throw subscriptionToken; } return [2, fetch("".concat(identity_1.default.apiOrigin, "/identity/public/v1/swg/").concat(subscriptionToken.accessToken, "/relink/").concat(accessToken), { method: 'GET', headers: headers }) .then(JSONResponseHandler_1.default) .then(function (response) { if ((0, userIdentity_1.isUserIdentity)(response)) { identity_1.default.userIdentity = response; return response; } else { throw response; } })]; } }); }); }; exports.relinkGoogleAccount = relinkGoogleAccount; exports.default = exports.relinkGoogleAccount; //# sourceMappingURL=relinkGoogleAccount.js.map