@commercetools-frontend/sdk 21.23.9 → 21.24.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-sdk.cjs.dev.js +324 -356
- package/dist/commercetools-frontend-sdk.cjs.prod.js +284 -302
- package/dist/commercetools-frontend-sdk.esm.js +321 -353
- package/dist/declarations/src/components/sdk-get/sdk-get.d.ts +1 -1
- package/package.json +2 -2
- package/test-utils/dist/commercetools-frontend-sdk-test-utils.cjs.dev.js +20 -34
- package/test-utils/dist/commercetools-frontend-sdk-test-utils.cjs.prod.js +20 -34
- package/test-utils/dist/commercetools-frontend-sdk-test-utils.esm.js +20 -34
|
@@ -2,18 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var _Reflect$construct = require('@babel/runtime-corejs3/core-js-stable/reflect/construct');
|
|
6
|
-
var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
7
|
-
var _classCallCheck = require('@babel/runtime-corejs3/helpers/classCallCheck');
|
|
8
|
-
var _createClass = require('@babel/runtime-corejs3/helpers/createClass');
|
|
9
|
-
var _inherits = require('@babel/runtime-corejs3/helpers/inherits');
|
|
10
|
-
var _possibleConstructorReturn = require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
|
|
11
|
-
var _getPrototypeOf = require('@babel/runtime-corejs3/helpers/getPrototypeOf');
|
|
12
|
-
var _pt = require('prop-types');
|
|
13
|
-
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
14
|
-
var react = require('react');
|
|
15
|
-
var reactRedux = require('react-redux');
|
|
16
|
-
var fastEquals = require('fast-equals');
|
|
17
5
|
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
18
6
|
var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
|
|
19
7
|
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
@@ -27,22 +15,30 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
|
27
15
|
var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
|
28
16
|
var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
|
|
29
17
|
var omitEmpty = require('omit-empty-es');
|
|
18
|
+
var _Reflect$construct = require('@babel/runtime-corejs3/core-js-stable/reflect/construct');
|
|
19
|
+
var _classCallCheck = require('@babel/runtime-corejs3/helpers/classCallCheck');
|
|
20
|
+
var _createClass = require('@babel/runtime-corejs3/helpers/createClass');
|
|
21
|
+
var _inherits = require('@babel/runtime-corejs3/helpers/inherits');
|
|
22
|
+
var _possibleConstructorReturn = require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
|
|
23
|
+
var _getPrototypeOf = require('@babel/runtime-corejs3/helpers/getPrototypeOf');
|
|
24
|
+
var _pt = require('prop-types');
|
|
25
|
+
var react = require('react');
|
|
26
|
+
var fastEquals = require('fast-equals');
|
|
27
|
+
var reactRedux = require('react-redux');
|
|
28
|
+
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
30
29
|
var apiRequestBuilder = require('@commercetools/api-request-builder');
|
|
31
30
|
var constants = require('@commercetools-frontend/constants');
|
|
32
31
|
var _URL = require('@babel/runtime-corejs3/core-js-stable/url');
|
|
33
32
|
var qss = require('qss');
|
|
34
33
|
var _globalThis = require('@babel/runtime-corejs3/core-js/global-this');
|
|
35
34
|
var buffer = require('buffer');
|
|
35
|
+
var createHttpUserAgent = require('@commercetools/http-user-agent');
|
|
36
36
|
var sdkClient = require('@commercetools/sdk-client');
|
|
37
|
-
var sdkMiddlewareHttp = require('@commercetools/sdk-middleware-http');
|
|
38
37
|
var sdkMiddlewareCorrelationId = require('@commercetools/sdk-middleware-correlation-id');
|
|
39
|
-
var
|
|
38
|
+
var sdkMiddlewareHttp = require('@commercetools/sdk-middleware-http');
|
|
40
39
|
|
|
41
40
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
42
41
|
|
|
43
|
-
var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construct);
|
|
44
|
-
var _pt__default = /*#__PURE__*/_interopDefault(_pt);
|
|
45
|
-
var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
|
|
46
42
|
var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
|
|
47
43
|
var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
|
|
48
44
|
var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
|
|
@@ -54,21 +50,139 @@ var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defin
|
|
|
54
50
|
var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
|
|
55
51
|
var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
|
|
56
52
|
var omitEmpty__default = /*#__PURE__*/_interopDefault(omitEmpty);
|
|
53
|
+
var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construct);
|
|
54
|
+
var _pt__default = /*#__PURE__*/_interopDefault(_pt);
|
|
55
|
+
var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
|
|
57
56
|
var _URL__default = /*#__PURE__*/_interopDefault(_URL);
|
|
58
57
|
var _globalThis__default = /*#__PURE__*/_interopDefault(_globalThis);
|
|
59
58
|
var createHttpUserAgent__default = /*#__PURE__*/_interopDefault(createHttpUserAgent);
|
|
60
59
|
|
|
60
|
+
function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
61
|
+
|
|
62
|
+
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$3(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$3(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
63
|
+
function get(payload) {
|
|
64
|
+
return {
|
|
65
|
+
type: 'SDK',
|
|
66
|
+
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
67
|
+
method: 'GET'
|
|
68
|
+
})
|
|
69
|
+
};
|
|
70
|
+
} // contrary to the other methods this does not bear the exact name of the HTTP-verb
|
|
71
|
+
// because `delete` is a reserved keyword in ECMAScript
|
|
72
|
+
|
|
73
|
+
function del(payload) {
|
|
74
|
+
return {
|
|
75
|
+
type: 'SDK',
|
|
76
|
+
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
77
|
+
method: 'DELETE'
|
|
78
|
+
})
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function head(payload) {
|
|
82
|
+
return {
|
|
83
|
+
type: 'SDK',
|
|
84
|
+
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
85
|
+
method: 'HEAD'
|
|
86
|
+
})
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function post(payload) {
|
|
90
|
+
return {
|
|
91
|
+
type: 'SDK',
|
|
92
|
+
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
93
|
+
method: 'POST'
|
|
94
|
+
})
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const enhancePayloadForForwardToProxy = payload => {
|
|
99
|
+
var _payload$headers, _context;
|
|
100
|
+
|
|
101
|
+
const headers = (_payload$headers = payload.headers) !== null && _payload$headers !== void 0 ? _payload$headers : {};
|
|
102
|
+
const exchangeTokenClaims = [];
|
|
103
|
+
|
|
104
|
+
if (payload.includeUserPermissions) {
|
|
105
|
+
exchangeTokenClaims.push('permissions');
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return {
|
|
109
|
+
uri: '/proxy/forward-to',
|
|
110
|
+
mcApiProxyTarget: undefined,
|
|
111
|
+
headers: omitEmpty__default["default"](_objectSpread$3(_objectSpread$3({}, _reduceInstanceProperty__default["default"](_context = _Object$entries__default["default"](headers)).call(_context, (customForwardHeaders, _ref) => {
|
|
112
|
+
let _ref2 = _slicedToArray(_ref, 2),
|
|
113
|
+
headerName = _ref2[0],
|
|
114
|
+
headerValue = _ref2[1];
|
|
115
|
+
|
|
116
|
+
return _objectSpread$3(_objectSpread$3({}, customForwardHeaders), {}, {
|
|
117
|
+
// Prefix headers so that the MC API can allow and forward them.
|
|
118
|
+
["x-forward-header-".concat(headerName)]: headerValue
|
|
119
|
+
});
|
|
120
|
+
}, {})), {}, {
|
|
121
|
+
'Accept-version': 'v2',
|
|
122
|
+
'X-Forward-To': payload.uri,
|
|
123
|
+
'X-Forward-To-Audience-Policy': payload.audiencePolicy || 'forward-url-full-path',
|
|
124
|
+
'X-Forward-To-Claims': exchangeTokenClaims.join(' ')
|
|
125
|
+
}))
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
const forwardTo = {
|
|
130
|
+
get(payload) {
|
|
131
|
+
return {
|
|
132
|
+
type: 'SDK',
|
|
133
|
+
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
134
|
+
method: 'GET'
|
|
135
|
+
}, enhancePayloadForForwardToProxy(payload))
|
|
136
|
+
};
|
|
137
|
+
},
|
|
138
|
+
|
|
139
|
+
del(payload) {
|
|
140
|
+
return {
|
|
141
|
+
type: 'SDK',
|
|
142
|
+
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
143
|
+
method: 'DELETE'
|
|
144
|
+
}, enhancePayloadForForwardToProxy(payload))
|
|
145
|
+
};
|
|
146
|
+
},
|
|
147
|
+
|
|
148
|
+
head(payload) {
|
|
149
|
+
return {
|
|
150
|
+
type: 'SDK',
|
|
151
|
+
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
152
|
+
method: 'HEAD'
|
|
153
|
+
}, enhancePayloadForForwardToProxy(payload))
|
|
154
|
+
};
|
|
155
|
+
},
|
|
156
|
+
|
|
157
|
+
post(payload) {
|
|
158
|
+
return {
|
|
159
|
+
type: 'SDK',
|
|
160
|
+
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
161
|
+
method: 'POST'
|
|
162
|
+
}, enhancePayloadForForwardToProxy(payload))
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
var index = /*#__PURE__*/Object.freeze({
|
|
169
|
+
__proto__: null,
|
|
170
|
+
get: get,
|
|
171
|
+
del: del,
|
|
172
|
+
head: head,
|
|
173
|
+
post: post,
|
|
174
|
+
forwardTo: forwardTo
|
|
175
|
+
});
|
|
176
|
+
|
|
61
177
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct__default["default"](Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
62
178
|
|
|
63
179
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct__default["default"]) return false; if (_Reflect$construct__default["default"].sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
64
|
-
|
|
180
|
+
let SdkGet = /*#__PURE__*/function (_Component) {
|
|
65
181
|
_inherits(SdkGet, _Component);
|
|
66
182
|
|
|
67
183
|
var _super = _createSuper(SdkGet);
|
|
68
184
|
|
|
69
185
|
function SdkGet() {
|
|
70
|
-
var _context;
|
|
71
|
-
|
|
72
186
|
var _this;
|
|
73
187
|
|
|
74
188
|
_classCallCheck(this, SdkGet);
|
|
@@ -77,7 +191,7 @@ var SdkGet = /*#__PURE__*/function (_Component) {
|
|
|
77
191
|
args[_key] = arguments[_key];
|
|
78
192
|
}
|
|
79
193
|
|
|
80
|
-
_this = _super.call
|
|
194
|
+
_this = _super.call(this, ...args);
|
|
81
195
|
_this.state = {
|
|
82
196
|
// We want the component to have a loading state by default, so we
|
|
83
197
|
// keep track of whether the first request has completed.
|
|
@@ -90,16 +204,14 @@ var SdkGet = /*#__PURE__*/function (_Component) {
|
|
|
90
204
|
};
|
|
91
205
|
_this.isComponentMounted = false;
|
|
92
206
|
|
|
93
|
-
_this.changeRequestsInFlight =
|
|
94
|
-
if (_this.isComponentMounted) _this.setState(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
};
|
|
98
|
-
});
|
|
207
|
+
_this.changeRequestsInFlight = delta => {
|
|
208
|
+
if (_this.isComponentMounted) _this.setState(prevState => ({
|
|
209
|
+
requestsInFlight: prevState.requestsInFlight + delta
|
|
210
|
+
}));
|
|
99
211
|
};
|
|
100
212
|
|
|
101
|
-
_this.fetch =
|
|
102
|
-
|
|
213
|
+
_this.fetch = _ref => {
|
|
214
|
+
let dispatch = _ref.dispatch,
|
|
103
215
|
actionCreator = _ref.actionCreator,
|
|
104
216
|
actionCreatorArgs = _ref.actionCreatorArgs,
|
|
105
217
|
onSuccess = _ref.onSuccess,
|
|
@@ -107,35 +219,33 @@ var SdkGet = /*#__PURE__*/function (_Component) {
|
|
|
107
219
|
|
|
108
220
|
_this.changeRequestsInFlight(1);
|
|
109
221
|
|
|
110
|
-
return dispatch(actionCreator
|
|
222
|
+
return dispatch(actionCreator(...actionCreatorArgs)).then(result => {
|
|
111
223
|
_this.changeRequestsInFlight(-1);
|
|
112
224
|
|
|
113
225
|
if (_this.isComponentMounted) _this.setState({
|
|
114
226
|
error: undefined,
|
|
115
|
-
result
|
|
227
|
+
result
|
|
116
228
|
});
|
|
117
229
|
if (onSuccess) onSuccess(result);
|
|
118
230
|
return result;
|
|
119
|
-
},
|
|
231
|
+
}, error => {
|
|
120
232
|
_this.changeRequestsInFlight(-1);
|
|
121
233
|
|
|
122
234
|
if (_this.isComponentMounted) _this.setState({
|
|
123
|
-
error
|
|
235
|
+
error,
|
|
124
236
|
result: undefined
|
|
125
237
|
});
|
|
126
238
|
if (onError) onError(error);else SdkGet.errorHandler(error);
|
|
127
239
|
});
|
|
128
240
|
};
|
|
129
241
|
|
|
130
|
-
_this.refresh =
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
});
|
|
138
|
-
};
|
|
242
|
+
_this.refresh = () => _this.fetch({
|
|
243
|
+
dispatch: _this.props.dispatch,
|
|
244
|
+
actionCreator: _this.props.actionCreator,
|
|
245
|
+
actionCreatorArgs: _this.props.actionCreatorArgs,
|
|
246
|
+
onSuccess: _this.props.onSuccess,
|
|
247
|
+
onError: _this.props.onError
|
|
248
|
+
});
|
|
139
249
|
|
|
140
250
|
return _this;
|
|
141
251
|
}
|
|
@@ -143,8 +253,6 @@ var SdkGet = /*#__PURE__*/function (_Component) {
|
|
|
143
253
|
_createClass(SdkGet, [{
|
|
144
254
|
key: "componentDidMount",
|
|
145
255
|
value: function componentDidMount() {
|
|
146
|
-
var _this2 = this;
|
|
147
|
-
|
|
148
256
|
this.isComponentMounted = true;
|
|
149
257
|
this.fetch({
|
|
150
258
|
dispatch: this.props.dispatch,
|
|
@@ -152,13 +260,13 @@ var SdkGet = /*#__PURE__*/function (_Component) {
|
|
|
152
260
|
actionCreatorArgs: this.props.actionCreatorArgs,
|
|
153
261
|
onSuccess: this.props.onSuccess,
|
|
154
262
|
onError: this.props.onError
|
|
155
|
-
}).then(
|
|
156
|
-
if (
|
|
263
|
+
}).then(result => {
|
|
264
|
+
if (this.isComponentMounted) this.setState({
|
|
157
265
|
isWaitingForCompletionOfFirstRequest: false
|
|
158
266
|
});
|
|
159
267
|
return result;
|
|
160
|
-
},
|
|
161
|
-
if (
|
|
268
|
+
}, error => {
|
|
269
|
+
if (this.isComponentMounted) this.setState({
|
|
162
270
|
isWaitingForCompletionOfFirstRequest: false
|
|
163
271
|
});
|
|
164
272
|
throw error;
|
|
@@ -196,15 +304,13 @@ var SdkGet = /*#__PURE__*/function (_Component) {
|
|
|
196
304
|
}(react.Component);
|
|
197
305
|
SdkGet.displayName = 'SdkGet';
|
|
198
306
|
|
|
199
|
-
SdkGet.errorHandler =
|
|
307
|
+
SdkGet.errorHandler = error => {
|
|
200
308
|
throw error;
|
|
201
309
|
};
|
|
202
310
|
|
|
203
311
|
SdkGet.defaultProps = {
|
|
204
312
|
actionCreatorArgs: [],
|
|
205
|
-
shouldRefetch:
|
|
206
|
-
return !fastEquals.deepEqual(prevArgs, nextArgs);
|
|
207
|
-
}
|
|
313
|
+
shouldRefetch: (prevArgs, nextArgs) => !fastEquals.deepEqual(prevArgs, nextArgs)
|
|
208
314
|
};
|
|
209
315
|
SdkGet.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
210
316
|
dispatch: _pt__default["default"].func.isRequired,
|
|
@@ -216,172 +322,48 @@ SdkGet.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
216
322
|
render: _pt__default["default"].func.isRequired
|
|
217
323
|
} : {};
|
|
218
324
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
};
|
|
223
|
-
};
|
|
325
|
+
const mapDispatchToProps = dispatch => ({
|
|
326
|
+
dispatch
|
|
327
|
+
});
|
|
224
328
|
|
|
225
329
|
var SdkGet$1 = reactRedux.connect(null, mapDispatchToProps)(SdkGet);
|
|
226
330
|
|
|
227
|
-
function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
228
|
-
|
|
229
|
-
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$3(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$3(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
230
|
-
function get(payload) {
|
|
231
|
-
return {
|
|
232
|
-
type: 'SDK',
|
|
233
|
-
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
234
|
-
method: 'GET'
|
|
235
|
-
})
|
|
236
|
-
};
|
|
237
|
-
} // contrary to the other methods this does not bear the exact name of the HTTP-verb
|
|
238
|
-
// because `delete` is a reserved keyword in ECMAScript
|
|
239
|
-
|
|
240
|
-
function del(payload) {
|
|
241
|
-
return {
|
|
242
|
-
type: 'SDK',
|
|
243
|
-
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
244
|
-
method: 'DELETE'
|
|
245
|
-
})
|
|
246
|
-
};
|
|
247
|
-
}
|
|
248
|
-
function head(payload) {
|
|
249
|
-
return {
|
|
250
|
-
type: 'SDK',
|
|
251
|
-
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
252
|
-
method: 'HEAD'
|
|
253
|
-
})
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
function post(payload) {
|
|
257
|
-
return {
|
|
258
|
-
type: 'SDK',
|
|
259
|
-
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
260
|
-
method: 'POST'
|
|
261
|
-
})
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
var enhancePayloadForForwardToProxy = function enhancePayloadForForwardToProxy(payload) {
|
|
266
|
-
var _payload$headers, _context;
|
|
267
|
-
|
|
268
|
-
var headers = (_payload$headers = payload.headers) !== null && _payload$headers !== void 0 ? _payload$headers : {};
|
|
269
|
-
var exchangeTokenClaims = [];
|
|
270
|
-
|
|
271
|
-
if (payload.includeUserPermissions) {
|
|
272
|
-
exchangeTokenClaims.push('permissions');
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
return {
|
|
276
|
-
uri: '/proxy/forward-to',
|
|
277
|
-
mcApiProxyTarget: undefined,
|
|
278
|
-
headers: omitEmpty__default["default"](_objectSpread$3(_objectSpread$3({}, _reduceInstanceProperty__default["default"](_context = _Object$entries__default["default"](headers)).call(_context, function (customForwardHeaders, _ref) {
|
|
279
|
-
var _ref2 = _slicedToArray(_ref, 2),
|
|
280
|
-
headerName = _ref2[0],
|
|
281
|
-
headerValue = _ref2[1];
|
|
282
|
-
|
|
283
|
-
return _objectSpread$3(_objectSpread$3({}, customForwardHeaders), {}, _defineProperty({}, "x-forward-header-".concat(headerName), headerValue));
|
|
284
|
-
}, {})), {}, {
|
|
285
|
-
'Accept-version': 'v2',
|
|
286
|
-
'X-Forward-To': payload.uri,
|
|
287
|
-
'X-Forward-To-Audience-Policy': payload.audiencePolicy || 'forward-url-full-path',
|
|
288
|
-
'X-Forward-To-Claims': exchangeTokenClaims.join(' ')
|
|
289
|
-
}))
|
|
290
|
-
};
|
|
291
|
-
};
|
|
292
|
-
|
|
293
|
-
var forwardTo = {
|
|
294
|
-
get: function get(payload) {
|
|
295
|
-
return {
|
|
296
|
-
type: 'SDK',
|
|
297
|
-
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
298
|
-
method: 'GET'
|
|
299
|
-
}, enhancePayloadForForwardToProxy(payload))
|
|
300
|
-
};
|
|
301
|
-
},
|
|
302
|
-
del: function del(payload) {
|
|
303
|
-
return {
|
|
304
|
-
type: 'SDK',
|
|
305
|
-
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
306
|
-
method: 'DELETE'
|
|
307
|
-
}, enhancePayloadForForwardToProxy(payload))
|
|
308
|
-
};
|
|
309
|
-
},
|
|
310
|
-
head: function head(payload) {
|
|
311
|
-
return {
|
|
312
|
-
type: 'SDK',
|
|
313
|
-
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
314
|
-
method: 'HEAD'
|
|
315
|
-
}, enhancePayloadForForwardToProxy(payload))
|
|
316
|
-
};
|
|
317
|
-
},
|
|
318
|
-
post: function post(payload) {
|
|
319
|
-
return {
|
|
320
|
-
type: 'SDK',
|
|
321
|
-
payload: _objectSpread$3(_objectSpread$3({}, payload), {}, {
|
|
322
|
-
method: 'POST'
|
|
323
|
-
}, enhancePayloadForForwardToProxy(payload))
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
};
|
|
327
|
-
|
|
328
|
-
var index = /*#__PURE__*/Object.freeze({
|
|
329
|
-
__proto__: null,
|
|
330
|
-
get: get,
|
|
331
|
-
del: del,
|
|
332
|
-
head: head,
|
|
333
|
-
post: post,
|
|
334
|
-
forwardTo: forwardTo
|
|
335
|
-
});
|
|
336
|
-
|
|
337
331
|
// NOTE: This string will be replaced on build time with the package version.
|
|
338
|
-
var version = "21.
|
|
332
|
+
var version = "21.24.0";
|
|
339
333
|
|
|
340
334
|
/* eslint-disable no-console */
|
|
341
|
-
|
|
335
|
+
const isLoggerEnabled = () => {
|
|
342
336
|
if (process.env.DEBUG === 'true') return true;
|
|
343
337
|
if (process.env.NODE_ENV === 'development') return true;
|
|
344
|
-
|
|
338
|
+
const queryParams = new _URL__default["default"](window.location.href);
|
|
345
339
|
if (process.env.NODE_ENV === 'production' && queryParams.searchParams.get('debug') === 'true') return true;
|
|
346
340
|
return false;
|
|
347
341
|
};
|
|
348
342
|
|
|
349
|
-
|
|
350
|
-
groupCollapsed: function
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
return isLoggerEnabled() && (_console = console).groupCollapsed.apply(_console, arguments);
|
|
343
|
+
const logger = {
|
|
344
|
+
groupCollapsed: function () {
|
|
345
|
+
return isLoggerEnabled() && console.groupCollapsed(...arguments);
|
|
354
346
|
},
|
|
355
|
-
groupEnd:
|
|
356
|
-
|
|
347
|
+
groupEnd: () => isLoggerEnabled() && console.groupEnd(),
|
|
348
|
+
info: function () {
|
|
349
|
+
return isLoggerEnabled() && console.info(...arguments);
|
|
357
350
|
},
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
return isLoggerEnabled() && (_console2 = console).info.apply(_console2, arguments);
|
|
351
|
+
log: function () {
|
|
352
|
+
return isLoggerEnabled() && console.log(...arguments);
|
|
362
353
|
},
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
return isLoggerEnabled() && (_console3 = console).log.apply(_console3, arguments);
|
|
354
|
+
error: function () {
|
|
355
|
+
return isLoggerEnabled() && console.error(...arguments);
|
|
367
356
|
},
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
return isLoggerEnabled() && (_console4 = console).error.apply(_console4, arguments);
|
|
372
|
-
},
|
|
373
|
-
warn: function warn() {
|
|
374
|
-
var _console5;
|
|
375
|
-
|
|
376
|
-
return isLoggerEnabled() && (_console5 = console).warn.apply(_console5, arguments);
|
|
357
|
+
warn: function () {
|
|
358
|
+
return isLoggerEnabled() && console.warn(...arguments);
|
|
377
359
|
}
|
|
378
360
|
};
|
|
379
361
|
|
|
380
362
|
function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
381
363
|
|
|
382
364
|
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$2(Object(source))).call(_context4, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
383
|
-
|
|
384
|
-
|
|
365
|
+
const parseUri = uri => {
|
|
366
|
+
const parser = document.createElement('a');
|
|
385
367
|
parser.href = uri;
|
|
386
368
|
return {
|
|
387
369
|
pathname: parser.pathname,
|
|
@@ -389,21 +371,19 @@ var parseUri = function parseUri(uri) {
|
|
|
389
371
|
};
|
|
390
372
|
};
|
|
391
373
|
|
|
392
|
-
|
|
393
|
-
return action.payload.method === 'POST';
|
|
394
|
-
};
|
|
374
|
+
const isPostAction = action => action.payload.method === 'POST';
|
|
395
375
|
|
|
396
|
-
|
|
376
|
+
const logRequest = _ref => {
|
|
397
377
|
var _context;
|
|
398
378
|
|
|
399
|
-
|
|
379
|
+
let method = _ref.method,
|
|
400
380
|
request = _ref.request,
|
|
401
381
|
response = _ref.response,
|
|
402
382
|
error = _ref.error,
|
|
403
383
|
action = _ref.action;
|
|
404
|
-
|
|
384
|
+
const uriParts = parseUri(request.uri);
|
|
405
385
|
|
|
406
|
-
|
|
386
|
+
const groupName = _concatInstanceProperty__default["default"](_context = "%c".concat(method, " %c")).call(_context, uriParts.pathname);
|
|
407
387
|
|
|
408
388
|
logger.groupCollapsed(groupName, "color: ".concat(error ? 'red' : 'black', "; font-weight: bold;"), 'color: gray; font-weight: lighter;');
|
|
409
389
|
logger.log('%caction', 'color: cadetblue; font-weight: bold;', action);
|
|
@@ -418,10 +398,10 @@ var logRequest = function logRequest(_ref) {
|
|
|
418
398
|
if (error) logger.log('%cerror', "color: red; font-weight: bold;", error);
|
|
419
399
|
logger.groupEnd();
|
|
420
400
|
};
|
|
421
|
-
|
|
422
|
-
|
|
401
|
+
const mcHostnameRegex = /^mc(-(\d){4,})?\.(.*)$/;
|
|
402
|
+
const mcPreviewHostnameRegex = /^.*\.mc-preview\.(.*)$/;
|
|
423
403
|
|
|
424
|
-
|
|
404
|
+
const getMcOriginTld = host => {
|
|
425
405
|
if (host.match(mcPreviewHostnameRegex)) {
|
|
426
406
|
return host.replace(mcPreviewHostnameRegex, '$1');
|
|
427
407
|
}
|
|
@@ -429,21 +409,19 @@ var getMcOriginTld = function getMcOriginTld(host) {
|
|
|
429
409
|
return host.replace(mcHostnameRegex, '$3');
|
|
430
410
|
};
|
|
431
411
|
|
|
432
|
-
|
|
412
|
+
const getMcApiUrlFromOrigin = actualWindow => {
|
|
433
413
|
var _context2;
|
|
434
414
|
|
|
435
|
-
|
|
436
|
-
|
|
415
|
+
const url = new _URL__default["default"](actualWindow.origin);
|
|
416
|
+
const originTld = getMcOriginTld(url.host);
|
|
437
417
|
return _concatInstanceProperty__default["default"](_context2 = "".concat(url.protocol, "//mc-api.")).call(_context2, originTld);
|
|
438
418
|
};
|
|
439
419
|
|
|
440
|
-
|
|
441
|
-
return value === true || value === 'true';
|
|
442
|
-
};
|
|
420
|
+
const parseAsBoolean = value => value === true || value === 'true';
|
|
443
421
|
|
|
444
422
|
function getMcApiUrl() {
|
|
445
|
-
|
|
446
|
-
|
|
423
|
+
let actualWindow = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
|
|
424
|
+
const isServedByProxy = parseAsBoolean(actualWindow.app.servedByProxy);
|
|
447
425
|
/**
|
|
448
426
|
* Prefer using the origin URL for the MC API based on the origin value
|
|
449
427
|
* of the browser's `window.location`.
|
|
@@ -463,7 +441,7 @@ function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default["d
|
|
|
463
441
|
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$1(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
464
442
|
|
|
465
443
|
_globalThis__default["default"].Buffer = buffer.Buffer;
|
|
466
|
-
|
|
444
|
+
const userAgent = createHttpUserAgent__default["default"]({
|
|
467
445
|
name: '@commercetools/sdk-client',
|
|
468
446
|
libraryName: [window.app.applicationName, 'sdk'].join('/'),
|
|
469
447
|
libraryVersion: version,
|
|
@@ -472,39 +450,37 @@ var userAgent = createHttpUserAgent__default["default"]({
|
|
|
472
450
|
contactEmail: 'mc@commercetools.com'
|
|
473
451
|
});
|
|
474
452
|
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
});
|
|
453
|
+
const customUserAgentMiddleware = next => (request, response) => {
|
|
454
|
+
const requestWithCustomUserAgent = _objectSpread$1(_objectSpread$1({}, request), {}, {
|
|
455
|
+
headers: _objectSpread$1(_objectSpread$1({}, request.headers), {}, {
|
|
456
|
+
'X-User-Agent': userAgent
|
|
457
|
+
})
|
|
458
|
+
});
|
|
482
459
|
|
|
483
|
-
|
|
484
|
-
};
|
|
460
|
+
next(requestWithCustomUserAgent, response);
|
|
485
461
|
}; // NOTE we should not use these directly but rather have them passed in from
|
|
486
462
|
// the application
|
|
487
463
|
|
|
488
464
|
|
|
489
|
-
|
|
465
|
+
const httpMiddleware = sdkMiddlewareHttp.createHttpMiddleware({
|
|
490
466
|
host: getMcApiUrl(),
|
|
491
467
|
includeResponseHeaders: true,
|
|
492
468
|
credentialsMode: 'include',
|
|
493
|
-
fetch
|
|
469
|
+
fetch
|
|
494
470
|
});
|
|
495
471
|
|
|
496
|
-
|
|
497
|
-
|
|
472
|
+
const createCorrelationIdMiddleware = _ref => {
|
|
473
|
+
let getCorrelationId = _ref.getCorrelationId;
|
|
498
474
|
return sdkMiddlewareCorrelationId.createCorrelationIdMiddleware({
|
|
499
475
|
generate: getCorrelationId
|
|
500
476
|
});
|
|
501
477
|
};
|
|
502
478
|
|
|
503
|
-
|
|
504
|
-
|
|
479
|
+
const createClient = _ref2 => {
|
|
480
|
+
let getCorrelationId = _ref2.getCorrelationId;
|
|
505
481
|
return sdkClient.createClient({
|
|
506
482
|
middlewares: [createCorrelationIdMiddleware({
|
|
507
|
-
getCorrelationId
|
|
483
|
+
getCorrelationId
|
|
508
484
|
}), customUserAgentMiddleware, httpMiddleware]
|
|
509
485
|
});
|
|
510
486
|
};
|
|
@@ -513,14 +489,12 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["def
|
|
|
513
489
|
|
|
514
490
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys(Object(source))).call(_context5, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
515
491
|
|
|
516
|
-
|
|
517
|
-
return actionPayload.uri !== undefined;
|
|
518
|
-
}; // https://github.com/commercetools/nodejs/blob/master/packages/api-request-builder/src/default-services.js#L200:L200
|
|
492
|
+
const isSdkActionForUri = actionPayload => actionPayload.uri !== undefined; // https://github.com/commercetools/nodejs/blob/master/packages/api-request-builder/src/default-services.js#L200:L200
|
|
519
493
|
|
|
520
494
|
|
|
521
|
-
|
|
495
|
+
const ORDER_EDIT_SERVICE = 'orderEdits';
|
|
522
496
|
|
|
523
|
-
|
|
497
|
+
const actionToUri = (action, projectKey) => {
|
|
524
498
|
var _action$payload$optio;
|
|
525
499
|
|
|
526
500
|
if (isSdkActionForUri(action.payload)) return action.payload.uri; // Validate that `projectKey` exists
|
|
@@ -531,13 +505,13 @@ var actionToUri = function actionToUri(action, projectKey) {
|
|
|
531
505
|
throw new Error(_concatInstanceProperty__default["default"](_context = "Expected projectKey to be defined for action service \"".concat(action.payload.service, "\" (method \"")).call(_context, action.payload.method, "\")"));
|
|
532
506
|
}
|
|
533
507
|
|
|
534
|
-
|
|
535
|
-
projectKey
|
|
508
|
+
const requestBuilder = apiRequestBuilder.createRequestBuilder({
|
|
509
|
+
projectKey
|
|
536
510
|
}); // NOTE it's weird that we have to access this from the request builder.
|
|
537
511
|
// Shouldn't it just be a part of the object we parse?
|
|
538
512
|
// NOTE shouldn't requestBuilder be called requestUriBuilder instead?
|
|
539
513
|
|
|
540
|
-
|
|
514
|
+
const service = requestBuilder[action.payload.service];
|
|
541
515
|
if (action.payload.options) service.parse(action.payload.options);
|
|
542
516
|
return service.build({
|
|
543
517
|
// given `service=orderEdits` and given `applyOrderEditTo`, we build an apply endpoint
|
|
@@ -550,135 +524,129 @@ var actionToUri = function actionToUri(action, projectKey) {
|
|
|
550
524
|
}; // Force TS cast of generic action to TNotificationAction
|
|
551
525
|
|
|
552
526
|
|
|
553
|
-
|
|
554
|
-
return action.type === 'SDK';
|
|
555
|
-
};
|
|
527
|
+
const isSdkAction = action => action.type === 'SDK';
|
|
556
528
|
|
|
557
|
-
|
|
558
|
-
return error.statusCode !== undefined;
|
|
559
|
-
};
|
|
529
|
+
const isSdkError = error => error.statusCode !== undefined;
|
|
560
530
|
|
|
561
531
|
function createSdkMiddleware(_ref) {
|
|
562
|
-
|
|
532
|
+
let getCorrelationId = _ref.getCorrelationId,
|
|
563
533
|
getProjectKey = _ref.getProjectKey,
|
|
564
534
|
getAdditionalHeaders = _ref.getAdditionalHeaders;
|
|
565
|
-
|
|
566
|
-
getCorrelationId
|
|
535
|
+
const client = createClient({
|
|
536
|
+
getCorrelationId
|
|
567
537
|
});
|
|
568
538
|
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
return
|
|
572
|
-
|
|
573
|
-
|
|
539
|
+
const middleware = _ref2 => {
|
|
540
|
+
let dispatch = _ref2.dispatch;
|
|
541
|
+
return next => action => {
|
|
542
|
+
var _context2, _context3;
|
|
543
|
+
|
|
544
|
+
if (!isSdkAction(action)) {
|
|
545
|
+
return next(action);
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
const projectKey = getProjectKey();
|
|
549
|
+
|
|
550
|
+
const uri = _filterInstanceProperty__default["default"](_context2 = [action.payload.mcApiProxyTarget && "/proxy/".concat(action.payload.mcApiProxyTarget), actionToUri(action, projectKey)]).call(_context2, Boolean).join(''); // This `requestName` is never really used.
|
|
551
|
+
//
|
|
552
|
+
// We keep track of requests which are in progress in the `loading` state of
|
|
553
|
+
// the application. The `loading` state is an array of strings
|
|
554
|
+
// (which are correlation Ids, action types or request names).
|
|
555
|
+
// This is just done so that debugging is easier.
|
|
556
|
+
//
|
|
557
|
+
// It's easier to debug
|
|
558
|
+
// loading: ['PRODUCTS_FETCHED', 'sdk.fetch(/product-projection-search)']
|
|
559
|
+
// than to debug
|
|
560
|
+
// loading: 2
|
|
561
|
+
|
|
562
|
+
|
|
563
|
+
const requestName = _concatInstanceProperty__default["default"](_context3 = "sdk.".concat(action.payload.method.toLowerCase(), "(")).call(_context3, uri, ")"); // NOTE here the middleware is aware of the application
|
|
564
|
+
// Instead we should probably convert to a middleware factory
|
|
565
|
+
// and provide hooks for `onFetch`, `onResult` and `onError
|
|
566
|
+
|
|
567
|
+
|
|
568
|
+
dispatch({
|
|
569
|
+
type: constants.SHOW_LOADING,
|
|
570
|
+
payload: requestName
|
|
571
|
+
}); // NOTE the promise returned by the client resolves to a custom format
|
|
572
|
+
// it will contain { statusCode, headers, body }
|
|
573
|
+
// NOTE This retry logic could be moved to an sdk client middleware,
|
|
574
|
+
// but the client's middleware system is not capable of that right now
|
|
575
|
+
// https://github.com/commercetools/merchant-center-frontend/pull/3304
|
|
576
|
+
// https://github.com/commercetools/nodejs/issues/390
|
|
577
|
+
|
|
578
|
+
const sendRequest = function () {
|
|
579
|
+
let _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
580
|
+
shouldRenewToken = _ref3.shouldRenewToken;
|
|
581
|
+
|
|
582
|
+
const additionalHeaders = getAdditionalHeaders();
|
|
583
|
+
|
|
584
|
+
const headers = _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
585
|
+
Accept: 'application/json'
|
|
586
|
+
}, action.payload.headers || {}), shouldRenewToken ? {
|
|
587
|
+
'X-Force-Token': 'true'
|
|
588
|
+
} : {}), projectKey && {
|
|
589
|
+
'X-Project-Key': projectKey
|
|
590
|
+
}), additionalHeaders !== null && additionalHeaders !== void 0 ? additionalHeaders : {});
|
|
591
|
+
|
|
592
|
+
const body = action.payload.method === 'POST' ? action.payload.payload : undefined;
|
|
593
|
+
return client.execute({
|
|
594
|
+
uri,
|
|
595
|
+
method: action.payload.method,
|
|
596
|
+
headers,
|
|
597
|
+
body
|
|
598
|
+
}).then(result => {
|
|
599
|
+
if (process.env.NODE_ENV === 'development') logRequest({
|
|
600
|
+
method: action.payload.method,
|
|
601
|
+
request: {
|
|
602
|
+
headers,
|
|
603
|
+
uri
|
|
604
|
+
},
|
|
605
|
+
response: result.body,
|
|
606
|
+
action
|
|
607
|
+
});
|
|
608
|
+
return result;
|
|
609
|
+
}, error => {
|
|
610
|
+
if (process.env.NODE_ENV === 'development') logRequest({
|
|
611
|
+
method: action.payload.method,
|
|
612
|
+
request: {
|
|
613
|
+
headers,
|
|
614
|
+
uri
|
|
615
|
+
},
|
|
616
|
+
error,
|
|
617
|
+
action
|
|
618
|
+
});
|
|
619
|
+
throw error;
|
|
620
|
+
});
|
|
621
|
+
};
|
|
574
622
|
|
|
575
|
-
|
|
576
|
-
|
|
623
|
+
return sendRequest().catch(error => {
|
|
624
|
+
// in case of 401 error, try again with a new token
|
|
625
|
+
// https://github.com/commercetools/merchant-center-backend/blob/master/docs/AUTHENTICATION.md#problems-due-to-oauth-token-caching
|
|
626
|
+
if (isSdkError(error) && error.statusCode === constants.STATUS_CODES.UNAUTHORIZED) {
|
|
627
|
+
return sendRequest({
|
|
628
|
+
shouldRenewToken: true
|
|
629
|
+
});
|
|
577
630
|
}
|
|
578
631
|
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
var uri = _filterInstanceProperty__default["default"](_context2 = [action.payload.mcApiProxyTarget && "/proxy/".concat(action.payload.mcApiProxyTarget), actionToUri(action, projectKey)]).call(_context2, Boolean).join(''); // This `requestName` is never really used.
|
|
582
|
-
//
|
|
583
|
-
// We keep track of requests which are in progress in the `loading` state of
|
|
584
|
-
// the application. The `loading` state is an array of strings
|
|
585
|
-
// (which are correlation Ids, action types or request names).
|
|
586
|
-
// This is just done so that debugging is easier.
|
|
587
|
-
//
|
|
588
|
-
// It's easier to debug
|
|
589
|
-
// loading: ['PRODUCTS_FETCHED', 'sdk.fetch(/product-projection-search)']
|
|
590
|
-
// than to debug
|
|
591
|
-
// loading: 2
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
var requestName = _concatInstanceProperty__default["default"](_context3 = "sdk.".concat(action.payload.method.toLowerCase(), "(")).call(_context3, uri, ")"); // NOTE here the middleware is aware of the application
|
|
595
|
-
// Instead we should probably convert to a middleware factory
|
|
596
|
-
// and provide hooks for `onFetch`, `onResult` and `onError
|
|
597
|
-
|
|
598
|
-
|
|
632
|
+
throw error;
|
|
633
|
+
}).then(result => {
|
|
599
634
|
dispatch({
|
|
600
|
-
type: constants.
|
|
635
|
+
type: constants.HIDE_LOADING,
|
|
601
636
|
payload: requestName
|
|
602
|
-
}); //
|
|
603
|
-
//
|
|
604
|
-
//
|
|
605
|
-
//
|
|
606
|
-
// https://github.com/commercetools/merchant-center-frontend/pull/3304
|
|
607
|
-
// https://github.com/commercetools/nodejs/issues/390
|
|
608
|
-
|
|
609
|
-
var sendRequest = function sendRequest() {
|
|
610
|
-
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
611
|
-
shouldRenewToken = _ref3.shouldRenewToken;
|
|
612
|
-
|
|
613
|
-
var additionalHeaders = getAdditionalHeaders();
|
|
614
|
-
|
|
615
|
-
var headers = _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
616
|
-
Accept: 'application/json'
|
|
617
|
-
}, action.payload.headers || {}), shouldRenewToken ? {
|
|
618
|
-
'X-Force-Token': 'true'
|
|
619
|
-
} : {}), projectKey && {
|
|
620
|
-
'X-Project-Key': projectKey
|
|
621
|
-
}), additionalHeaders !== null && additionalHeaders !== void 0 ? additionalHeaders : {});
|
|
622
|
-
|
|
623
|
-
var body = action.payload.method === 'POST' ? action.payload.payload : undefined;
|
|
624
|
-
return client.execute({
|
|
625
|
-
uri: uri,
|
|
626
|
-
method: action.payload.method,
|
|
627
|
-
headers: headers,
|
|
628
|
-
body: body
|
|
629
|
-
}).then(function (result) {
|
|
630
|
-
if (process.env.NODE_ENV === 'development') logRequest({
|
|
631
|
-
method: action.payload.method,
|
|
632
|
-
request: {
|
|
633
|
-
headers: headers,
|
|
634
|
-
uri: uri
|
|
635
|
-
},
|
|
636
|
-
response: result.body,
|
|
637
|
-
action: action
|
|
638
|
-
});
|
|
639
|
-
return result;
|
|
640
|
-
}, function (error) {
|
|
641
|
-
if (process.env.NODE_ENV === 'development') logRequest({
|
|
642
|
-
method: action.payload.method,
|
|
643
|
-
request: {
|
|
644
|
-
headers: headers,
|
|
645
|
-
uri: uri
|
|
646
|
-
},
|
|
647
|
-
error: error,
|
|
648
|
-
action: action
|
|
649
|
-
});
|
|
650
|
-
throw error;
|
|
651
|
-
});
|
|
652
|
-
};
|
|
653
|
-
|
|
654
|
-
return sendRequest().catch(function (error) {
|
|
655
|
-
// in case of 401 error, try again with a new token
|
|
656
|
-
// https://github.com/commercetools/merchant-center-backend/blob/master/docs/AUTHENTICATION.md#problems-due-to-oauth-token-caching
|
|
657
|
-
if (isSdkError(error) && error.statusCode === constants.STATUS_CODES.UNAUTHORIZED) {
|
|
658
|
-
return sendRequest({
|
|
659
|
-
shouldRenewToken: true
|
|
660
|
-
});
|
|
661
|
-
}
|
|
637
|
+
}); // The promise returned by "fetch" will reject when the request fails,
|
|
638
|
+
// but only in certain cases. See "Checking that the fetch was successful"
|
|
639
|
+
// in https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
|
|
640
|
+
// The SDK already handles this case for us.
|
|
662
641
|
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
}); // The promise returned by "fetch" will reject when the request fails,
|
|
669
|
-
// but only in certain cases. See "Checking that the fetch was successful"
|
|
670
|
-
// in https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
|
|
671
|
-
// The SDK already handles this case for us.
|
|
672
|
-
|
|
673
|
-
return result.body;
|
|
674
|
-
}, function (error) {
|
|
675
|
-
dispatch({
|
|
676
|
-
type: constants.HIDE_LOADING,
|
|
677
|
-
payload: requestName
|
|
678
|
-
});
|
|
679
|
-
throw error;
|
|
642
|
+
return result.body;
|
|
643
|
+
}, error => {
|
|
644
|
+
dispatch({
|
|
645
|
+
type: constants.HIDE_LOADING,
|
|
646
|
+
payload: requestName
|
|
680
647
|
});
|
|
681
|
-
|
|
648
|
+
throw error;
|
|
649
|
+
});
|
|
682
650
|
};
|
|
683
651
|
};
|
|
684
652
|
|
|
@@ -688,11 +656,11 @@ function createSdkMiddleware(_ref) {
|
|
|
688
656
|
// Wraps `dispatch` and cast the return type to a Promise, as the middleware
|
|
689
657
|
// returns a Promise.
|
|
690
658
|
function useAsyncDispatch() {
|
|
691
|
-
|
|
659
|
+
const dispatch = reactRedux.useDispatch();
|
|
692
660
|
return dispatch;
|
|
693
661
|
}
|
|
694
662
|
|
|
695
|
-
|
|
663
|
+
const Sdk = {
|
|
696
664
|
Get: SdkGet$1
|
|
697
665
|
};
|
|
698
666
|
|