@commercetools-frontend/application-shell-connectors 24.11.0 → 24.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commercetools-frontend-application-shell-connectors.cjs.dev.js +67 -63
- package/dist/commercetools-frontend-application-shell-connectors.cjs.prod.js +63 -60
- package/dist/commercetools-frontend-application-shell-connectors.esm.js +67 -63
- package/dist/declarations/src/components/application-context/index.d.ts +2 -3
- package/dist/declarations/src/components/application-context/normalizers.d.ts +1 -5
- package/dist/declarations/src/export-types.d.ts +1 -2
- package/dist/declarations/src/index.d.ts +1 -1
- package/dist/declarations/src/types/generated/mc.d.ts +9 -8
- package/package.json +5 -5
|
@@ -15,6 +15,7 @@ var react = require('react');
|
|
|
15
15
|
var moment = require('moment-timezone');
|
|
16
16
|
var sentry = require('@commercetools-frontend/sentry');
|
|
17
17
|
var _URL = require('@babel/runtime-corejs3/core-js-stable/url');
|
|
18
|
+
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
18
19
|
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
19
20
|
var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
|
20
21
|
var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
|
|
@@ -58,6 +59,7 @@ var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$def
|
|
|
58
59
|
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
59
60
|
var moment__default = /*#__PURE__*/_interopDefault(moment);
|
|
60
61
|
var _URL__default = /*#__PURE__*/_interopDefault(_URL);
|
|
62
|
+
var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
|
|
61
63
|
var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
|
|
62
64
|
var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
|
|
63
65
|
var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty);
|
|
@@ -76,7 +78,7 @@ var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construc
|
|
|
76
78
|
var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
|
|
77
79
|
|
|
78
80
|
// NOTE: This string will be replaced on build time with the package version.
|
|
79
|
-
var version = "24.
|
|
81
|
+
var version = "24.13.0";
|
|
80
82
|
|
|
81
83
|
// From https://github.com/acdlite/recompose/blob/master/src/packages/recompose/getDisplayName.js
|
|
82
84
|
const getDisplayName = Component => {
|
|
@@ -98,9 +100,10 @@ const getMcOriginTld = host => {
|
|
|
98
100
|
return host.replace(mcHostnameRegex, '$3');
|
|
99
101
|
};
|
|
100
102
|
const getMcApiUrlFromOrigin = origin => {
|
|
103
|
+
var _context;
|
|
101
104
|
const url = new _URL__default["default"](origin);
|
|
102
105
|
const originTld = getMcOriginTld(url.host);
|
|
103
|
-
return
|
|
106
|
+
return _concatInstanceProperty__default["default"](_context = "".concat(url.protocol, "//mc-api.")).call(_context, originTld);
|
|
104
107
|
};
|
|
105
108
|
const parseAsBoolean = value => value === true || value === 'true';
|
|
106
109
|
function getMcApiUrl() {
|
|
@@ -122,8 +125,6 @@ function getMcApiUrl() {
|
|
|
122
125
|
|
|
123
126
|
function ownKeys$7(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
124
127
|
function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$7(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$7(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
125
|
-
// Menu visibilities
|
|
126
|
-
|
|
127
128
|
// Permissions
|
|
128
129
|
|
|
129
130
|
// Action rights
|
|
@@ -159,17 +160,6 @@ const normalizeAllAppliedPermissions = allAppliedPermissions => {
|
|
|
159
160
|
});
|
|
160
161
|
}, {});
|
|
161
162
|
};
|
|
162
|
-
const normalizeAllAppliedMenuVisibilities = allAppliedMenuVisibilities => {
|
|
163
|
-
if (!allAppliedMenuVisibilities || allAppliedMenuVisibilities.length === 0) {
|
|
164
|
-
return null;
|
|
165
|
-
}
|
|
166
|
-
return _reduceInstanceProperty__default["default"](allAppliedMenuVisibilities).call(allAppliedMenuVisibilities, (transformedAllApplied, allApplied) => {
|
|
167
|
-
if (!allApplied) return transformedAllApplied;
|
|
168
|
-
return _objectSpread$7(_objectSpread$7({}, transformedAllApplied), {}, {
|
|
169
|
-
[allApplied.name]: allApplied.value
|
|
170
|
-
});
|
|
171
|
-
}, {});
|
|
172
|
-
};
|
|
173
163
|
const normalizeAllAppliedActionRights = allAppliedActionRights => {
|
|
174
164
|
if (!allAppliedActionRights || allAppliedActionRights.length === 0) {
|
|
175
165
|
return null;
|
|
@@ -332,9 +322,9 @@ const createApplicationContext = (environment, user, project, projectDataLocale)
|
|
|
332
322
|
environment: mapEnvironmentToApplicationContextEnvironment(environment),
|
|
333
323
|
user: mapUserToApplicationContextUser(user),
|
|
334
324
|
project: mapProjectToApplicationContextProject(project),
|
|
335
|
-
permissions: normalizeAllAppliedPermissions(project
|
|
336
|
-
actionRights: normalizeAllAppliedActionRights(project
|
|
337
|
-
dataFences: normalizeAllAppliedDataFences(project
|
|
325
|
+
permissions: normalizeAllAppliedPermissions(project === null || project === void 0 ? void 0 : project.allAppliedPermissions),
|
|
326
|
+
actionRights: normalizeAllAppliedActionRights(project === null || project === void 0 ? void 0 : project.allAppliedActionRights),
|
|
327
|
+
dataFences: normalizeAllAppliedDataFences(project === null || project === void 0 ? void 0 : project.allAppliedDataFences),
|
|
338
328
|
dataLocale: projectDataLocale || null
|
|
339
329
|
});
|
|
340
330
|
const ApplicationContextProvider = props => jsxRuntime.jsx(Context$2.Provider, {
|
|
@@ -364,7 +354,7 @@ function withApplicationContext(mapApplicationContextToProps) {
|
|
|
364
354
|
return jsxRuntime.jsx(Component, _objectSpread$6(_objectSpread$6({}, props), mappedProps));
|
|
365
355
|
}
|
|
366
356
|
});
|
|
367
|
-
WrappedComponent.displayName =
|
|
357
|
+
WrappedComponent.displayName = "withApplicationContext(".concat(getDisplayName(Component), ")");
|
|
368
358
|
return WrappedComponent;
|
|
369
359
|
};
|
|
370
360
|
}
|
|
@@ -480,7 +470,7 @@ const ProjectExtensionProviderForImageRegex = props => {
|
|
|
480
470
|
};
|
|
481
471
|
ProjectExtensionProviderForImageRegex.displayName = 'ProjectExtensionProviderForImageRegex';
|
|
482
472
|
const GetProjectExtensionImageRegex = props => {
|
|
483
|
-
useWarning(false,
|
|
473
|
+
useWarning(false, "@commercetools-frontend/application-shell-connectors: It is not recommended to use the 'GetProjectExtensionImageRegex' anymore. Please use the 'useProjectExtensionImageRegex' hook instead.");
|
|
484
474
|
return jsxRuntime.jsx(Context.Consumer, {
|
|
485
475
|
children: imageRegexContext => props.render(imageRegexContext)
|
|
486
476
|
});
|
|
@@ -490,7 +480,7 @@ function withProjectExtensionImageRegex() {
|
|
|
490
480
|
let propKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'imageRegexData';
|
|
491
481
|
return Component => {
|
|
492
482
|
const WrappedComponent = props => {
|
|
493
|
-
useWarning(false,
|
|
483
|
+
useWarning(false, "@commercetools-frontend/application-shell-connectors: It is not recommended to use the 'withProjectExtensionImageRegex' high order component anymore. Please use the 'useProjectExtensionImageRegex' hook instead.");
|
|
494
484
|
const imageregexContext = useProjectExtensionImageRegex();
|
|
495
485
|
return jsxRuntime.jsx(GetProjectExtensionImageRegex, {
|
|
496
486
|
render: () =>
|
|
@@ -500,7 +490,7 @@ function withProjectExtensionImageRegex() {
|
|
|
500
490
|
}))
|
|
501
491
|
});
|
|
502
492
|
};
|
|
503
|
-
WrappedComponent.displayName =
|
|
493
|
+
WrappedComponent.displayName = "withProjectExtensionImageRegex(".concat(getDisplayName(Component), ")");
|
|
504
494
|
return WrappedComponent;
|
|
505
495
|
};
|
|
506
496
|
}
|
|
@@ -521,8 +511,8 @@ const forwardTokenRetryHeader = headers => _objectSpread$3(_objectSpread$3({}, h
|
|
|
521
511
|
// so that the MC BE can issue a new token.
|
|
522
512
|
// NOTE: the retry is not meant to work for the MC access token.
|
|
523
513
|
const getDoesGraphQLTargetSupportTokenRetry = context => {
|
|
524
|
-
var _context;
|
|
525
|
-
const graphQLTarget = context.headers
|
|
514
|
+
var _context$headers, _context$headers2, _context;
|
|
515
|
+
const graphQLTarget = ((_context$headers = context.headers) === null || _context$headers === void 0 ? void 0 : _context$headers[constants.SUPPORTED_HEADERS.X_GRAPHQL_TARGET]) || ((_context$headers2 = context.headers) === null || _context$headers2 === void 0 ? void 0 : _context$headers2[constants.SUPPORTED_HEADERS.X_GRAPHQL_TARGET.toLowerCase()]);
|
|
526
516
|
return Boolean(graphQLTarget && _includesInstanceProperty__default["default"](_context = [constants.GRAPHQL_TARGETS.COMMERCETOOLS_PLATFORM, constants.GRAPHQL_TARGETS.ADMINISTRATION_SERVICE, constants.GRAPHQL_TARGETS.SETTINGS_SERVICE, constants.GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND]).call(_context, graphQLTarget));
|
|
527
517
|
};
|
|
528
518
|
const isHttpError = error => error.statusCode !== undefined || error.statusCode !== undefined;
|
|
@@ -536,7 +526,7 @@ const errorLink = error.onError(_ref => {
|
|
|
536
526
|
operation = _ref.operation,
|
|
537
527
|
forward = _ref.forward;
|
|
538
528
|
if (networkError && isHttpError(networkError) && networkError.statusCode === constants.STATUS_CODES.UNAUTHORIZED) {
|
|
539
|
-
history__default["default"].push(
|
|
529
|
+
history__default["default"].push("/logout?reason=".concat(constants.LOGOUT_REASONS.UNAUTHORIZED));
|
|
540
530
|
return;
|
|
541
531
|
}
|
|
542
532
|
|
|
@@ -548,7 +538,8 @@ const errorLink = error.onError(_ref => {
|
|
|
548
538
|
const context = operation.getContext();
|
|
549
539
|
if (graphQLErrors && isGraphQLError(graphQLErrors)) {
|
|
550
540
|
for (const err of graphQLErrors) {
|
|
551
|
-
|
|
541
|
+
var _err$extensions;
|
|
542
|
+
const isNonAuthenticatedViaExtensionCode = (err === null || err === void 0 || (_err$extensions = err.extensions) === null || _err$extensions === void 0 ? void 0 : _err$extensions.code) === 'UNAUTHENTICATED';
|
|
552
543
|
/**
|
|
553
544
|
* NOTE:
|
|
554
545
|
* Not not all GraphQL APIs expose an `extensions` field in
|
|
@@ -556,7 +547,7 @@ const errorLink = error.onError(_ref => {
|
|
|
556
547
|
* property until they introduced support for the `extensions`
|
|
557
548
|
* field.
|
|
558
549
|
*/
|
|
559
|
-
const isNonAuthenticatedViaCode = err
|
|
550
|
+
const isNonAuthenticatedViaCode = (err === null || err === void 0 ? void 0 : err.message) === 'invalid_token';
|
|
560
551
|
if ((isNonAuthenticatedViaExtensionCode || isNonAuthenticatedViaCode) && getDoesGraphQLTargetSupportTokenRetry(context) && !getSkipTokenRetry(context)) {
|
|
561
552
|
operation.setContext(_ref2 => {
|
|
562
553
|
let headers = _ref2.headers;
|
|
@@ -592,7 +583,8 @@ const errorLink = error.onError(_ref => {
|
|
|
592
583
|
|
|
593
584
|
// Attempt to load the `teamId` from sessionStorage
|
|
594
585
|
function selectTeamIdFromStorage() {
|
|
595
|
-
|
|
586
|
+
var _window$app$__DEVELOP;
|
|
587
|
+
return window.sessionStorage.getItem(constants.STORAGE_KEYS.ACTIVE_TEAM_ID) || ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP === void 0 || (_window$app$__DEVELOP = _window$app$__DEVELOP.oidc) === null || _window$app$__DEVELOP === void 0 ? void 0 : _window$app$__DEVELOP.teamId);
|
|
596
588
|
}
|
|
597
589
|
|
|
598
590
|
const staticUrlPathsInPositionOfProjectKey = ['login', 'logout', 'account'];
|
|
@@ -653,7 +645,7 @@ function getCorrelationId() {
|
|
|
653
645
|
|
|
654
646
|
const createApolloContextForProxyForwardTo = proxyForwardTocontext => ({
|
|
655
647
|
// Send the request to the forward-to endpoint.
|
|
656
|
-
uri:
|
|
648
|
+
uri: "".concat(getMcApiUrl(), "/proxy/forward-to"),
|
|
657
649
|
// Custom properties to be used by the "header-link".
|
|
658
650
|
forwardToConfig: proxyForwardTocontext,
|
|
659
651
|
skipGraphQlTargetCheck: true
|
|
@@ -695,7 +687,7 @@ function selectUserLanguageFromStorage() {
|
|
|
695
687
|
const getSessionToken = () => window.sessionStorage.getItem(constants.STORAGE_KEYS.SESSION_TOKEN);
|
|
696
688
|
const setActiveSession = sessionToken => {
|
|
697
689
|
if (!sessionToken) return;
|
|
698
|
-
window.sessionStorage.setItem(constants.STORAGE_KEYS.SESSION_TOKEN, sessionToken
|
|
690
|
+
window.sessionStorage.setItem(constants.STORAGE_KEYS.SESSION_TOKEN, sessionToken !== null && sessionToken !== void 0 ? sessionToken : '');
|
|
699
691
|
window.localStorage.setItem(constants.STORAGE_KEYS.LOGIN_STRATEGY, constants.LOGIN_STRATEGY_OIDC);
|
|
700
692
|
// Remove flag for original workflow
|
|
701
693
|
window.localStorage.removeItem(constants.STORAGE_KEYS.IS_AUTHENTICATED);
|
|
@@ -717,7 +709,8 @@ const setSessionScope = scope => {
|
|
|
717
709
|
window.sessionStorage.setItem(constants.STORAGE_KEYS.SESSION_SCOPE, scope);
|
|
718
710
|
};
|
|
719
711
|
const getSessionState = stateId => {
|
|
720
|
-
|
|
712
|
+
var _context;
|
|
713
|
+
const sessionStateKey = _concatInstanceProperty__default["default"](_context = "".concat(constants.STORAGE_KEYS.NONCE, "_")).call(_context, stateId);
|
|
721
714
|
const unparsedSessionState = window.sessionStorage.getItem(sessionStateKey);
|
|
722
715
|
if (unparsedSessionState) {
|
|
723
716
|
try {
|
|
@@ -725,19 +718,22 @@ const getSessionState = stateId => {
|
|
|
725
718
|
return parsedSessionState;
|
|
726
719
|
} catch (error) {
|
|
727
720
|
if (process.env.NODE_ENV !== 'production') {
|
|
721
|
+
var _context2;
|
|
728
722
|
// eslint-disable-next-line no-console
|
|
729
|
-
console.warn(
|
|
723
|
+
console.warn(_concatInstanceProperty__default["default"](_context2 = "Cannot parse session state for \"".concat(sessionStateKey, "\".\n")).call(_context2, unparsedSessionState));
|
|
730
724
|
}
|
|
731
725
|
}
|
|
732
726
|
}
|
|
733
727
|
return null;
|
|
734
728
|
};
|
|
735
729
|
const setSessionState = (stateId, state) => {
|
|
736
|
-
|
|
730
|
+
var _context3;
|
|
731
|
+
const sessionStateKey = _concatInstanceProperty__default["default"](_context3 = "".concat(constants.STORAGE_KEYS.NONCE, "_")).call(_context3, stateId);
|
|
737
732
|
window.sessionStorage.setItem(sessionStateKey, _JSON$stringify__default["default"](state));
|
|
738
733
|
};
|
|
739
734
|
const removeSessionState = stateId => {
|
|
740
|
-
|
|
735
|
+
var _context4;
|
|
736
|
+
const sessionStateKey = _concatInstanceProperty__default["default"](_context4 = "".concat(constants.STORAGE_KEYS.NONCE, "_")).call(_context4, stateId);
|
|
741
737
|
window.sessionStorage.removeItem(sessionStateKey);
|
|
742
738
|
};
|
|
743
739
|
|
|
@@ -759,13 +755,14 @@ var oidcStorage = /*#__PURE__*/Object.freeze({
|
|
|
759
755
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? _Reflect$construct__default["default"](o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
760
756
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
|
|
761
757
|
function ownKeys$2(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
762
|
-
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
758
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$2(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
763
759
|
let _userAgent$1;
|
|
764
760
|
const getUserAgent$1 = () => {
|
|
765
761
|
if (!_userAgent$1) {
|
|
762
|
+
var _window$app$applicati, _window$app;
|
|
766
763
|
_userAgent$1 = createHttpUserAgent__default["default"]({
|
|
767
764
|
name: 'unknown-http-client',
|
|
768
|
-
libraryName: typeof window !== 'undefined' ? window.app
|
|
765
|
+
libraryName: typeof window !== 'undefined' ? (_window$app$applicati = (_window$app = window.app) === null || _window$app === void 0 ? void 0 : _window$app.applicationName) !== null && _window$app$applicati !== void 0 ? _window$app$applicati : 'unknown-application-name' : undefined
|
|
769
766
|
});
|
|
770
767
|
}
|
|
771
768
|
return _userAgent$1;
|
|
@@ -773,48 +770,50 @@ const getUserAgent$1 = () => {
|
|
|
773
770
|
const defaultForwardToVersion = 'v2';
|
|
774
771
|
const defaultForwardToAudiencePolicy = 'forward-url-full-path';
|
|
775
772
|
function buildApiUrl(endpoint) {
|
|
773
|
+
var _context;
|
|
776
774
|
const apiUrl = getMcApiUrl().replace(/\/$/, '');
|
|
777
|
-
return
|
|
775
|
+
return _concatInstanceProperty__default["default"](_context = "".concat(apiUrl)).call(_context, endpoint);
|
|
778
776
|
}
|
|
779
777
|
const getAppliedForwardToHeaders = forwardToConfig => {
|
|
780
|
-
var
|
|
778
|
+
var _context2, _forwardToConfig$head, _forwardToConfig$vers, _forwardToConfig$audi;
|
|
781
779
|
if (!forwardToConfig) {
|
|
782
780
|
return {};
|
|
783
781
|
}
|
|
784
782
|
if (!forwardToConfig.uri) {
|
|
785
|
-
throw new Error(
|
|
783
|
+
throw new Error("Missing required \"uri\" option.");
|
|
786
784
|
}
|
|
787
785
|
const exchangeTokenClaims = [];
|
|
788
786
|
if (forwardToConfig.includeUserPermissions) {
|
|
789
787
|
exchangeTokenClaims.push('permissions');
|
|
790
788
|
}
|
|
791
|
-
return _objectSpread$2(_objectSpread$2({}, _reduceInstanceProperty__default["default"](
|
|
789
|
+
return _objectSpread$2(_objectSpread$2({}, _reduceInstanceProperty__default["default"](_context2 = _Object$entries__default["default"]((_forwardToConfig$head = forwardToConfig.headers) !== null && _forwardToConfig$head !== void 0 ? _forwardToConfig$head : {})).call(_context2, (customForwardHeaders, _ref) => {
|
|
792
790
|
let _ref2 = _slicedToArray(_ref, 2),
|
|
793
791
|
headerName = _ref2[0],
|
|
794
792
|
headerValue = _ref2[1];
|
|
795
793
|
return _objectSpread$2(_objectSpread$2({}, customForwardHeaders), {}, {
|
|
796
794
|
// Prefix headers so that the MC API can allow and forward them.
|
|
797
|
-
[
|
|
795
|
+
["x-forward-header-".concat(headerName)]: headerValue
|
|
798
796
|
});
|
|
799
797
|
}, {})), {}, {
|
|
800
|
-
[constants.SUPPORTED_HEADERS.ACCEPT_VERSION]: forwardToConfig.version
|
|
798
|
+
[constants.SUPPORTED_HEADERS.ACCEPT_VERSION]: (_forwardToConfig$vers = forwardToConfig.version) !== null && _forwardToConfig$vers !== void 0 ? _forwardToConfig$vers : defaultForwardToVersion,
|
|
801
799
|
[constants.SUPPORTED_HEADERS.X_FORWARD_TO]: forwardToConfig.uri,
|
|
802
|
-
[constants.SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY]: forwardToConfig.audiencePolicy
|
|
800
|
+
[constants.SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY]: (_forwardToConfig$audi = forwardToConfig.audiencePolicy) !== null && _forwardToConfig$audi !== void 0 ? _forwardToConfig$audi : defaultForwardToAudiencePolicy,
|
|
803
801
|
[constants.SUPPORTED_HEADERS.X_FORWARD_TO_CLAIMS]: exchangeTokenClaims.join(' ')
|
|
804
802
|
});
|
|
805
803
|
};
|
|
806
804
|
function createHttpClientOptions() {
|
|
805
|
+
var _config$projectKey, _window$app$__DEVELOP;
|
|
807
806
|
let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
808
807
|
const sessionToken = getSessionToken();
|
|
809
|
-
const projectKey = config.projectKey
|
|
808
|
+
const projectKey = (_config$projectKey = config.projectKey) !== null && _config$projectKey !== void 0 ? _config$projectKey : selectProjectKeyFromUrl();
|
|
810
809
|
const userId = selectUserId();
|
|
811
|
-
const userAgent = config
|
|
810
|
+
const userAgent = (config === null || config === void 0 ? void 0 : config.userAgent) || getUserAgent$1();
|
|
812
811
|
return {
|
|
813
812
|
credentials: 'include',
|
|
814
813
|
headers: omitEmpty__default["default"](_objectSpread$2(_objectSpread$2({}, config.headers), {}, {
|
|
815
814
|
// Required headers
|
|
816
815
|
[constants.SUPPORTED_HEADERS.ACCEPT]: 'application/json',
|
|
817
|
-
[constants.SUPPORTED_HEADERS.AUTHORIZATION]: sessionToken ?
|
|
816
|
+
[constants.SUPPORTED_HEADERS.AUTHORIZATION]: sessionToken ? "Bearer ".concat(sessionToken) : undefined,
|
|
818
817
|
[constants.SUPPORTED_HEADERS.X_APPLICATION_ID]: window.app.applicationIdentifier,
|
|
819
818
|
[constants.SUPPORTED_HEADERS.X_CUSTOM_VIEW_ID]: window.app.customViewId,
|
|
820
819
|
[constants.SUPPORTED_HEADERS.X_CORRELATION_ID]: getCorrelationId({
|
|
@@ -823,7 +822,7 @@ function createHttpClientOptions() {
|
|
|
823
822
|
[constants.SUPPORTED_HEADERS.X_PROJECT_KEY]: projectKey,
|
|
824
823
|
[constants.SUPPORTED_HEADERS.X_USER_AGENT]: userAgent,
|
|
825
824
|
// MC Identity Login Mode Override header for development
|
|
826
|
-
[constants.SUPPORTED_HEADERS.X_MC_IDENTITY_LOGIN_MODE_OVERRIDE]: window.app.__DEVELOPMENT__
|
|
825
|
+
[constants.SUPPORTED_HEADERS.X_MC_IDENTITY_LOGIN_MODE_OVERRIDE]: (_window$app$__DEVELOP = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP === void 0 ? void 0 : _window$app$__DEVELOP.mcIdentityLoginModeOverride
|
|
827
826
|
}, getAppliedForwardToHeaders(config.forwardToConfig)))
|
|
828
827
|
};
|
|
829
828
|
}
|
|
@@ -854,7 +853,7 @@ async function executeHttpClientRequest(fetcher) {
|
|
|
854
853
|
}))
|
|
855
854
|
}));
|
|
856
855
|
if (response.statusCode === constants.STATUS_CODES.UNAUTHORIZED) {
|
|
857
|
-
throw new RenewTokenError(
|
|
856
|
+
throw new RenewTokenError("Unauthorized response, attempting retry.");
|
|
858
857
|
}
|
|
859
858
|
|
|
860
859
|
// In case a new session token is returned from the server, save it.
|
|
@@ -878,15 +877,15 @@ async function executeHttpClientRequest(fetcher) {
|
|
|
878
877
|
}
|
|
879
878
|
|
|
880
879
|
function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
881
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
880
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context5, _context6; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context5 = ownKeys$1(Object(t), !0)).call(_context5, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context6 = ownKeys$1(Object(t))).call(_context6, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
882
881
|
let _userAgent;
|
|
883
882
|
const getUserAgent = () => {
|
|
884
883
|
if (!_userAgent) {
|
|
885
|
-
var _context;
|
|
884
|
+
var _context, _window$app$applicati, _window$app;
|
|
886
885
|
_userAgent = createHttpUserAgent__default["default"]({
|
|
887
886
|
name: 'apollo-client',
|
|
888
887
|
// version: apolloVersion,
|
|
889
|
-
libraryName: _filterInstanceProperty__default["default"](_context = [typeof window !== 'undefined' ? window.app
|
|
888
|
+
libraryName: _filterInstanceProperty__default["default"](_context = [typeof window !== 'undefined' ? (_window$app$applicati = (_window$app = window.app) === null || _window$app === void 0 ? void 0 : _window$app.applicationName) !== null && _window$app$applicati !== void 0 ? _window$app$applicati : 'unknown-application-name' : undefined, 'application-shell']).call(_context, Boolean).join('/'),
|
|
890
889
|
libraryVersion: version,
|
|
891
890
|
contactUrl: 'https://git.io/fjuyC',
|
|
892
891
|
// points to the appkit repo issues
|
|
@@ -900,13 +899,18 @@ const isKnownGraphQlTarget = target => {
|
|
|
900
899
|
return target ? _includesInstanceProperty__default["default"](_context2 = _Object$values__default["default"](constants.GRAPHQL_TARGETS)).call(_context2, target) : false;
|
|
901
900
|
};
|
|
902
901
|
const extractSessionTokenFromResponse = context => {
|
|
903
|
-
|
|
902
|
+
var _context$response, _context$restResponse;
|
|
903
|
+
const refreshedSessionToken = (_context$response = context.response) === null || _context$response === void 0 || (_context$response = _context$response.headers) === null || _context$response === void 0 ? void 0 : _context$response.get('x-refreshed-session-token');
|
|
904
904
|
if (refreshedSessionToken) {
|
|
905
|
-
return refreshedSessionToken
|
|
905
|
+
return refreshedSessionToken !== null && refreshedSessionToken !== void 0 ? refreshedSessionToken : null;
|
|
906
906
|
}
|
|
907
|
-
const restResponseWithRefreshTokenHeader = context.restResponses
|
|
907
|
+
const restResponseWithRefreshTokenHeader = (_context$restResponse = context.restResponses) === null || _context$restResponse === void 0 ? void 0 : _findInstanceProperty__default["default"](_context$restResponse).call(_context$restResponse, response => {
|
|
908
|
+
var _response$headers;
|
|
909
|
+
return (_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers.has('x-refreshed-session-token');
|
|
910
|
+
});
|
|
908
911
|
if (restResponseWithRefreshTokenHeader) {
|
|
909
|
-
|
|
912
|
+
var _restResponseWithRefr;
|
|
913
|
+
return (_restResponseWithRefr = restResponseWithRefreshTokenHeader.headers.get('x-refreshed-session-token')) !== null && _restResponseWithRefr !== void 0 ? _restResponseWithRefr : null;
|
|
910
914
|
}
|
|
911
915
|
return null;
|
|
912
916
|
};
|
|
@@ -914,11 +918,11 @@ const extractSessionTokenFromResponse = context => {
|
|
|
914
918
|
/* eslint-disable import/prefer-default-export */
|
|
915
919
|
// Use a middleware to update the request headers with the correct params.
|
|
916
920
|
const headerLink = new client.ApolloLink((operation, forward) => {
|
|
917
|
-
var _context3;
|
|
921
|
+
var _context3, _context4;
|
|
918
922
|
const apolloContext = operation.getContext();
|
|
919
923
|
const variables = operation.variables;
|
|
920
924
|
const graphQlTarget = apolloContext.target || variables.target;
|
|
921
|
-
if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(
|
|
925
|
+
if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(_concatInstanceProperty__default["default"](_context3 = "GraphQL target \"".concat(graphQlTarget, "\" is missing (or is not supported) in operation \"")).call(_context3, operation.operationName, "\""));
|
|
922
926
|
|
|
923
927
|
/**
|
|
924
928
|
* NOTE:
|
|
@@ -945,7 +949,7 @@ const headerLink = new client.ApolloLink((operation, forward) => {
|
|
|
945
949
|
forwardToConfig: apolloContext.forwardToConfig,
|
|
946
950
|
projectKey
|
|
947
951
|
}));
|
|
948
|
-
return _mapInstanceProperty__default["default"](
|
|
952
|
+
return _mapInstanceProperty__default["default"](_context4 = forward(operation)).call(_context4, response => {
|
|
949
953
|
const context = operation.getContext();
|
|
950
954
|
const refreshedSessionToken = extractSessionTokenFromResponse(context);
|
|
951
955
|
if (refreshedSessionToken) {
|
|
@@ -958,7 +962,7 @@ const headerLink = new client.ApolloLink((operation, forward) => {
|
|
|
958
962
|
const tokenRetryLink = new retry.RetryLink({
|
|
959
963
|
attempts: (count, operation, error) => {
|
|
960
964
|
const context = operation.getContext();
|
|
961
|
-
if (error
|
|
965
|
+
if ((error === null || error === void 0 ? void 0 : error.statusCode) === constants.STATUS_CODES.UNAUTHORIZED && count === 1 && getDoesGraphQLTargetSupportTokenRetry(context) && !getSkipTokenRetry(context)) {
|
|
962
966
|
operation.setContext(_ref => {
|
|
963
967
|
let headers = _ref.headers;
|
|
964
968
|
return {
|
|
@@ -976,7 +980,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _co
|
|
|
976
980
|
const createApolloLink = function () {
|
|
977
981
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
978
982
|
const httpLink = client.createHttpLink({
|
|
979
|
-
uri:
|
|
983
|
+
uri: "".concat(getMcApiUrl(), "/graphql"),
|
|
980
984
|
fetch
|
|
981
985
|
});
|
|
982
986
|
|
|
@@ -1020,8 +1024,9 @@ const mergeArraysObjects = function () {
|
|
|
1020
1024
|
}, []);
|
|
1021
1025
|
};
|
|
1022
1026
|
const createApolloClient = function () {
|
|
1027
|
+
var _options$cache, _customCacheConfig$ty;
|
|
1023
1028
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1024
|
-
const customCacheConfig = options
|
|
1029
|
+
const customCacheConfig = (_options$cache = options === null || options === void 0 ? void 0 : options.cache) !== null && _options$cache !== void 0 ? _options$cache : {};
|
|
1025
1030
|
return new client.ApolloClient({
|
|
1026
1031
|
link: createApolloLink(options),
|
|
1027
1032
|
// https://www.apollographql.com/docs/react/caching/cache-configuration/
|
|
@@ -1060,7 +1065,7 @@ const createApolloClient = function () {
|
|
|
1060
1065
|
}
|
|
1061
1066
|
}
|
|
1062
1067
|
}
|
|
1063
|
-
}, customCacheConfig.typePolicies
|
|
1068
|
+
}, (_customCacheConfig$ty = customCacheConfig.typePolicies) !== null && _customCacheConfig$ty !== void 0 ? _customCacheConfig$ty : {})
|
|
1064
1069
|
}))
|
|
1065
1070
|
});
|
|
1066
1071
|
};
|
|
@@ -1093,7 +1098,6 @@ exports.isLoggerEnabled = isLoggerEnabled;
|
|
|
1093
1098
|
exports.logger = logger;
|
|
1094
1099
|
exports.normalizeAllAppliedActionRights = normalizeAllAppliedActionRights;
|
|
1095
1100
|
exports.normalizeAllAppliedDataFences = normalizeAllAppliedDataFences;
|
|
1096
|
-
exports.normalizeAllAppliedMenuVisibilities = normalizeAllAppliedMenuVisibilities;
|
|
1097
1101
|
exports.normalizeAllAppliedPermissions = normalizeAllAppliedPermissions;
|
|
1098
1102
|
exports.oidcStorage = oidcStorage;
|
|
1099
1103
|
exports.selectProjectKeyFromUrl = selectProjectKeyFromUrl;
|