@arc-publishing/sdk-identity
Version:
JS Identity SDK for working with Identity API
48 lines • 2.27 kB
JavaScript
import { __assign, __awaiter, __generator } from "tslib";
import JSONResponseHandler from '../serviceHelpers/JSONResponseHandler';
import { headers as defaultHeaders } from './constants';
import Identity from './identity';
import { isUserIdentity } from './userIdentity';
import { isSwgAccessTokenResponse } from './getSwgAccessToken';
import { deprecationMessage } from './googleSignOn';
export var relinkGoogleAccount = function (accessToken) { return __awaiter(void 0, void 0, void 0, function () {
var headers, subscriptionToken;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
console.error(deprecationMessage);
headers = __assign({}, defaultHeaders);
if (!(Identity.userIdentity &&
Identity.userIdentity.accessToken &&
Identity.userIdentity.refreshToken)) return [3, 2];
return [4, Identity.heartbeat()];
case 1:
_a.sent();
headers['Authorization'] = "Bearer ".concat(Identity.userIdentity.accessToken);
return [3, 3];
case 2: throw new Error('[Arc Identity SDK] no logged in user found.');
case 3: return [4, Identity.getSwgAccessToken()];
case 4:
subscriptionToken = _a.sent();
if (!isSwgAccessTokenResponse(subscriptionToken)) {
throw subscriptionToken;
}
return [2, fetch("".concat(Identity.apiOrigin, "/identity/public/v1/swg/").concat(subscriptionToken.accessToken, "/relink/").concat(accessToken), {
method: 'GET',
headers: headers
})
.then(JSONResponseHandler)
.then(function (response) {
if (isUserIdentity(response)) {
Identity.userIdentity = response;
return response;
}
else {
throw response;
}
})];
}
});
}); };
export default relinkGoogleAccount;
//# sourceMappingURL=relinkGoogleAccount.js.map