UNPKG

@coko/server

Version:

Reusable server for use by Coko's projects

25 lines 1.42 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAuthTokens = exports.authenticatedCall = void 0; const identity_controller_1 = require("../models/identity/identity.controller"); const makeCall_1 = __importDefault(require("./makeCall")); const tokens_1 = require("./tokens"); Object.defineProperty(exports, "getAuthTokens", { enumerable: true, get: function () { return tokens_1.getAuthTokens; } }); const authenticatedCall = async (userId, providerLabel, callParameters) => { if (!callParameters) throw new Error(`Call parameters are required`); const accessToken = await (0, tokens_1.getAuthTokens)(userId, providerLabel); const response = await (0, makeCall_1.default)(callParameters, accessToken); if (response.status === 401) { // for the case that something happened and accessToken become invalid -> set that expired await (0, identity_controller_1.invalidateProviderAccessToken)(userId, providerLabel); const freshAccessToken = await (0, tokens_1.getAuthTokens)(userId, providerLabel); return (0, makeCall_1.default)(callParameters, freshAccessToken); } return response; }; exports.authenticatedCall = authenticatedCall; //# sourceMappingURL=authenticatedCall.js.map