@plentymarkets/shop-api 0.121.0 → 0.122.1

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.
Files changed (77) hide show
  1. package/lib/api/getStorageItems/index.d.ts +19 -0
  2. package/lib/api/getStorageItems/index.d.ts.map +1 -0
  3. package/lib/api/getStorageMetadata/index.d.ts +18 -0
  4. package/lib/api/getStorageMetadata/index.d.ts.map +1 -0
  5. package/lib/api/index.d.ts +2 -0
  6. package/lib/api/index.d.ts.map +1 -1
  7. package/lib/helpers/header.helper.d.ts +12 -0
  8. package/lib/helpers/header.helper.d.ts.map +1 -0
  9. package/lib/hooks/__tests__/__fixtures__/ConfigFixture.d.ts +3 -0
  10. package/lib/hooks/__tests__/__fixtures__/ConfigFixture.d.ts.map +1 -0
  11. package/lib/hooks/__tests__/__fixtures__/RequestHeaderFixture.d.ts +39 -0
  12. package/lib/hooks/__tests__/__fixtures__/RequestHeaderFixture.d.ts.map +1 -0
  13. package/lib/hooks/afterCall.d.ts +5 -0
  14. package/lib/hooks/afterCall.d.ts.map +1 -0
  15. package/lib/hooks/beforeCreate.d.ts +4 -0
  16. package/lib/hooks/beforeCreate.d.ts.map +1 -0
  17. package/lib/hooks/index.d.ts +5 -0
  18. package/lib/hooks/index.d.ts.map +1 -0
  19. package/lib/hooks/onRequest.d.ts +4 -0
  20. package/lib/hooks/onRequest.d.ts.map +1 -0
  21. package/lib/hooks/onResponse.d.ts +3 -0
  22. package/lib/hooks/onResponse.d.ts.map +1 -0
  23. package/lib/index.cjs.js +46 -0
  24. package/lib/index.cjs.js.map +1 -1
  25. package/lib/index.es.js +45 -1
  26. package/lib/index.es.js.map +1 -1
  27. package/lib/index.server.d.ts.map +1 -1
  28. package/lib/types/api/storage.d.ts +34 -0
  29. package/lib/types/api/storage.d.ts.map +1 -0
  30. package/lib/types/config/index.d.ts +12 -1
  31. package/lib/types/config/index.d.ts.map +1 -1
  32. package/package.json +5 -5
  33. package/server/api/getStorageItems/index.d.ts +19 -0
  34. package/server/api/getStorageItems/index.d.ts.map +1 -0
  35. package/server/api/getStorageMetadata/index.d.ts +18 -0
  36. package/server/api/getStorageMetadata/index.d.ts.map +1 -0
  37. package/server/api/index.d.ts +2 -0
  38. package/server/api/index.d.ts.map +1 -1
  39. package/server/helpers/header.helper.d.ts +12 -0
  40. package/server/helpers/header.helper.d.ts.map +1 -0
  41. package/server/hooks/__tests__/__fixtures__/ConfigFixture.d.ts +3 -0
  42. package/server/hooks/__tests__/__fixtures__/ConfigFixture.d.ts.map +1 -0
  43. package/server/hooks/__tests__/__fixtures__/RequestHeaderFixture.d.ts +39 -0
  44. package/server/hooks/__tests__/__fixtures__/RequestHeaderFixture.d.ts.map +1 -0
  45. package/server/hooks/afterCall.d.ts +5 -0
  46. package/server/hooks/afterCall.d.ts.map +1 -0
  47. package/server/hooks/beforeCreate.d.ts +4 -0
  48. package/server/hooks/beforeCreate.d.ts.map +1 -0
  49. package/server/hooks/index.d.ts +5 -0
  50. package/server/hooks/index.d.ts.map +1 -0
  51. package/server/hooks/onRequest.d.ts +4 -0
  52. package/server/hooks/onRequest.d.ts.map +1 -0
  53. package/server/hooks/onResponse.d.ts +3 -0
  54. package/server/hooks/onResponse.d.ts.map +1 -0
  55. package/server/index.d.ts.map +1 -1
  56. package/server/index.js +167 -170
  57. package/server/index.js.map +1 -1
  58. package/server/types/api/storage.d.ts +34 -0
  59. package/server/types/api/storage.d.ts.map +1 -0
  60. package/server/types/config/index.d.ts +12 -1
  61. package/server/types/config/index.d.ts.map +1 -1
  62. package/lib/helpers/api-events-syncer.d.ts +0 -10
  63. package/lib/helpers/api-events-syncer.d.ts.map +0 -1
  64. package/lib/helpers/header-syncer.d.ts +0 -24
  65. package/lib/helpers/header-syncer.d.ts.map +0 -1
  66. package/lib/helpers/noCacheSyncer.d.ts +0 -10
  67. package/lib/helpers/noCacheSyncer.d.ts.map +0 -1
  68. package/lib/helpers/referrerSyncer.d.ts +0 -10
  69. package/lib/helpers/referrerSyncer.d.ts.map +0 -1
  70. package/server/helpers/api-events-syncer.d.ts +0 -10
  71. package/server/helpers/api-events-syncer.d.ts.map +0 -1
  72. package/server/helpers/header-syncer.d.ts +0 -24
  73. package/server/helpers/header-syncer.d.ts.map +0 -1
  74. package/server/helpers/noCacheSyncer.d.ts +0 -10
  75. package/server/helpers/noCacheSyncer.d.ts.map +0 -1
  76. package/server/helpers/referrerSyncer.d.ts +0 -10
  77. package/server/helpers/referrerSyncer.d.ts.map +0 -1
@@ -0,0 +1,39 @@
1
+ export declare const ResponseHeadersFixture: {
2
+ 'content-type': string;
3
+ 'cache-control': string;
4
+ date: string;
5
+ 'x-csrf-token': string;
6
+ 'x-request-id': string;
7
+ 'x-session-expiration': string;
8
+ 'set-cookie': string[];
9
+ 'strict-transport-security': string;
10
+ vary: string;
11
+ connection: string;
12
+ 'transfer-encoding': string;
13
+ };
14
+ export declare const RequestHeadersFixture: {
15
+ host: string;
16
+ connection: string;
17
+ 'content-length': string;
18
+ pragma: string;
19
+ 'cache-control': string;
20
+ 'sec-ch-ua-platform': string;
21
+ 'X-Config-Id': string;
22
+ 'sec-ch-ua': string;
23
+ 'sec-ch-ua-mobile': string;
24
+ referrerid: string;
25
+ noCache: string;
26
+ locale: string;
27
+ 'user-agent': string;
28
+ accept: string;
29
+ 'content-type': string;
30
+ origin: string;
31
+ 'sec-fetch-site': string;
32
+ 'sec-fetch-mode': string;
33
+ 'sec-fetch-dest': string;
34
+ referer: string;
35
+ 'accept-encoding': string;
36
+ 'accept-language': string;
37
+ cookie: string;
38
+ };
39
+ //# sourceMappingURL=RequestHeaderFixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestHeaderFixture.d.ts","sourceRoot":"","sources":["../../../../src/hooks/__tests__/__fixtures__/RequestHeaderFixture.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;CAclC,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;CAyBjC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { AlokaiResponse } from '@vue-storefront/middleware';
2
+ import { MiddlewareConfig } from 'src/types';
3
+ import type { Response } from 'express';
4
+ export declare const afterCallWrapper: (response: Response, alokaiResponse: AlokaiResponse, config: MiddlewareConfig) => Response;
5
+ //# sourceMappingURL=afterCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"afterCall.d.ts","sourceRoot":"","sources":["../../src/hooks/afterCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,eAAO,MAAM,gBAAgB,GAAI,UAAU,QAAQ,EAAE,gBAAgB,cAAc,EAAE,QAAQ,gBAAgB,KAAG,QAK/G,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { AlokaiRequest } from '@vue-storefront/middleware';
2
+ import { MiddlewareConfig } from 'src/types';
3
+ export declare const beforeCreateWrapper: (request: AlokaiRequest, config: MiddlewareConfig) => MiddlewareConfig;
4
+ //# sourceMappingURL=beforeCreate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beforeCreate.d.ts","sourceRoot":"","sources":["../../src/hooks/beforeCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG7C,eAAO,MAAM,mBAAmB,GAAI,SAAS,aAAa,EAAE,QAAQ,gBAAgB,KAAG,gBAGtF,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './afterCall';
2
+ export * from './beforeCreate';
3
+ export * from './onRequest';
4
+ export * from './onResponse';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { InternalAxiosRequestConfig } from 'axios';
2
+ import { MiddlewareConfig } from 'src/types';
3
+ export declare const onRequestWrapper: (request: InternalAxiosRequestConfig, config: MiddlewareConfig) => InternalAxiosRequestConfig;
4
+ //# sourceMappingURL=onRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onRequest.d.ts","sourceRoot":"","sources":["../../src/hooks/onRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAI7C,eAAO,MAAM,gBAAgB,GAAI,SAAS,0BAA0B,EAAE,QAAQ,gBAAgB,KAAG,0BAsChG,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MiddlewareConfig, PlentyResponse } from 'src/types';
2
+ export declare const onResponseWrapper: (response: PlentyResponse, config: MiddlewareConfig) => PlentyResponse;
3
+ //# sourceMappingURL=onResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onResponse.d.ts","sourceRoot":"","sources":["../../src/hooks/onResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAI7D,eAAO,MAAM,iBAAiB,GAAI,UAAU,cAAc,EAAE,QAAQ,gBAAgB,KAAG,cAKtF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../src/index.server.ts"],"names":[],"mappings":"AA4EA,QAAA,MAAQ,eAAe,sEAIrB,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../src/index.server.ts"],"names":[],"mappings":"AA0CA,QAAA,MAAQ,eAAe,sEAIrB,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,CAAC"}
package/server/index.js CHANGED
@@ -3132,6 +3132,50 @@ const doHandlePayPalAddress = async (context, params) => {
3132
3132
  return { data: response };
3133
3133
  };
3134
3134
 
3135
+ /**
3136
+ * Method getStorageMetadata - Fetches metadata for a storage item by its key.
3137
+ *
3138
+ * @param context
3139
+ * @param params
3140
+ * StorageMetadataData
3141
+ *
3142
+ * @returns
3143
+ * StorageMetadataData
3144
+ * @example
3145
+ * ``` ts
3146
+ * const { data } = await getStorageMetadata(() => useSdk().plentysystems.getStorageMetadata(params));
3147
+ * ```
3148
+ */
3149
+ const getStorageMetadata = async (context, params) => {
3150
+ const url = new URL('rest/storefront/storage/metadata', context.config.api.url);
3151
+ url.searchParams.set('key', params.key);
3152
+ const { data } = await context.client.get(url.href);
3153
+ return { data: data.data };
3154
+ };
3155
+
3156
+ /**
3157
+ * Method getStorageItems - Fetch storage items.
3158
+ *
3159
+ * @param context
3160
+ * @param params
3161
+ * StorageItemsParams
3162
+ *
3163
+ * @returns
3164
+ * StorageObject[]
3165
+ * @example
3166
+ * ``` ts
3167
+ * const { data } = await getStorageItems(() => useSdk().plentysystems.getStorageItems(params));
3168
+ * ```
3169
+ */
3170
+ const getStorageItems = async (context, params) => {
3171
+ const url = new URL('rest/storefront/storage', context.config.api.url);
3172
+ if (params.fileTypes) {
3173
+ url.searchParams.set('fileTypes', params.fileTypes);
3174
+ }
3175
+ const { data } = await context.client.get(url.href);
3176
+ return { data: data.data.objects };
3177
+ };
3178
+
3135
3179
  var api = /*#__PURE__*/Object.freeze({
3136
3180
  __proto__: null,
3137
3181
  getProduct: getProduct,
@@ -3235,6 +3279,8 @@ var api = /*#__PURE__*/Object.freeze({
3235
3279
  getPackstations: getPackstations,
3236
3280
  doHandlePayPalPaymentFundingSources: doHandlePayPalPaymentFundingSources,
3237
3281
  getTranslations: getTranslations,
3282
+ getStorageMetadata: getStorageMetadata,
3283
+ getStorageItems: getStorageItems,
3238
3284
  doCreatePayPalOrder: doCreatePayPalOrder,
3239
3285
  doCreatePlentyPaymentFromPayPalOrder: doCreatePlentyPaymentFromPayPalOrder,
3240
3286
  getPayPalOrder: getPayPalOrder,
@@ -3243,206 +3289,157 @@ var api = /*#__PURE__*/Object.freeze({
3243
3289
  doHandlePayPalAddress: doHandlePayPalAddress
3244
3290
  });
3245
3291
 
3246
- class HeaderSyncer {
3247
- constructor() {
3248
- this.responseHeaders = {};
3249
- this.requestHeaders = {};
3250
- this.headerWhitelist = ['x-csrf-token', 'set-cookie', 'cookie', 'x-config-id', 'x-pwa-edit-hash', 'locale'];
3251
- this.setCookieHeaderBlacklist = ['XSRF-TOKEN'];
3252
- }
3253
- clearHeaders() {
3254
- this.responseHeaders = {};
3255
- this.requestHeaders = {};
3256
- }
3257
- storeResponseHeaders(headers) {
3258
- this.clearHeaders();
3259
- this.responseHeaders = headers;
3260
- }
3261
- storeRequestHeaders(headers) {
3262
- this.requestHeaders = headers;
3263
- }
3264
- addSecurityHeaders(request, config) {
3265
- request.headers['x-security-token'] = config.api?.securityToken ?? '';
3292
+ const PlentyIdCookie = 'plentyID';
3293
+ const PwaSessionIdCookie = 'pwa-session-id';
3294
+ const FORWARD_HEADERS_KEYS = ['x-csrf-token', 'set-cookie', 'cookie', 'x-config-id', 'x-pwa-edit-hash', 'locale'];
3295
+ const changeHeaderValueKey = (value, oldKey, newKey) => {
3296
+ if (!value) {
3297
+ return '';
3298
+ }
3299
+ if (Array.isArray(value)) {
3300
+ value.forEach((cookie, key) => {
3301
+ if (cookie.startsWith(newKey + '=')) {
3302
+ value.splice(key, 1);
3303
+ }
3304
+ if (cookie.startsWith(oldKey + '=')) {
3305
+ value[key] = cookie.replace(oldKey + '=', newKey + '=');
3306
+ }
3307
+ });
3266
3308
  }
3267
- changeHeaderValueKey(value, oldKey, newKey) {
3268
- if (!value) {
3269
- return '';
3270
- }
3271
- if (Array.isArray(value)) {
3272
- value.forEach((cookie, key) => {
3273
- if (cookie.startsWith(newKey + '=')) {
3274
- value.splice(key, 1);
3309
+ else {
3310
+ const newCookie = value.toString().split(';')
3311
+ .map((cookie) => {
3312
+ if (cookie.trim().startsWith(newKey + '=')) {
3313
+ return '';
3314
+ }
3315
+ if (cookie.trim().startsWith(oldKey + '=')) {
3316
+ return cookie.trim().replace(oldKey + '=', newKey + '=');
3317
+ }
3318
+ return cookie.trim();
3319
+ });
3320
+ value = newCookie.filter((str) => str.length > 0).join('; ');
3321
+ }
3322
+ return value;
3323
+ };
3324
+ const lowerCaseAllHeaders = (headers) => {
3325
+ return headers ? Object.fromEntries(Object.entries(headers).map(([key, value]) => [key.toLowerCase(), value])) : {};
3326
+ };
3327
+ const handleSessionCookie = (value) => {
3328
+ return changeHeaderValueKey(value, PwaSessionIdCookie, PlentyIdCookie);
3329
+ };
3330
+ const handleSetCookie = (config, response) => {
3331
+ const setCookieHeaderBlacklist = ['XSRF-TOKEN'];
3332
+ if (!config._apiResponseHeaders)
3333
+ return;
3334
+ Object.entries(config._apiResponseHeaders).forEach(([key, value]) => {
3335
+ if (FORWARD_HEADERS_KEYS.includes(key)) {
3336
+ if (key === 'set-cookie') {
3337
+ if (Array.isArray(value)) {
3338
+ value = value.map((setCookieHeader) => {
3339
+ return setCookieHeader.replace(/domain=[^;]+;/, '');
3340
+ }).filter((setCookieHeader) => {
3341
+ return !setCookieHeaderBlacklist.some((blacklistedHeader) => setCookieHeader.includes(blacklistedHeader));
3342
+ });
3275
3343
  }
3276
- if (cookie.startsWith(oldKey + '=')) {
3277
- value[key] = cookie.replace(oldKey + '=', newKey + '=');
3344
+ else {
3345
+ value = value?.toString().replace(/domain=[^;]+;/, '');
3278
3346
  }
3279
- });
3280
- }
3281
- else {
3282
- const newCookie = value.toString().split(';')
3283
- .map((cookie) => {
3284
- if (cookie.trim().startsWith(newKey + '=')) {
3285
- return '';
3286
- }
3287
- if (cookie.trim().startsWith(oldKey + '=')) {
3288
- return cookie.trim().replace(oldKey + '=', newKey + '=');
3347
+ value = changeHeaderValueKey(value ?? '', PlentyIdCookie, PwaSessionIdCookie);
3348
+ if (value) {
3349
+ response.setHeader(key, value.toString());
3289
3350
  }
3290
- return cookie.trim();
3291
- });
3292
- value = newCookie.filter((str) => str.length > 0).join('; ');
3351
+ }
3352
+ else if (value) {
3353
+ response.setHeader(key, value.toString());
3354
+ }
3293
3355
  }
3294
- return value;
3356
+ });
3357
+ };
3358
+ const addApiEventsToResponse = (config, response) => {
3359
+ if (config._apiEvents && Object.keys(config._apiEvents).length > 0) {
3360
+ if (response?.data && typeof response.data === 'object')
3361
+ response.data.apiEvents = config._apiEvents;
3295
3362
  }
3296
- addRequestHeaders(request) {
3297
- Object.entries(this.requestHeaders).forEach(([key, value]) => {
3298
- if (this.headerWhitelist.includes(key)) {
3299
- if (key === 'cookie' && value) {
3300
- value = this.changeHeaderValueKey(value, HeaderSyncer.PwaSessionIdCookie, HeaderSyncer.PlentyIdCookie);
3363
+ return response;
3364
+ };
3365
+
3366
+ const afterCallWrapper = (response, alokaiResponse, config) => {
3367
+ handleSetCookie(config, alokaiResponse);
3368
+ addApiEventsToResponse(config, response);
3369
+ alokaiResponse.set('Access-Control-Expose-Headers', 'x-csrf-token');
3370
+ return response;
3371
+ };
3372
+
3373
+ const beforeCreateWrapper = (request, config) => {
3374
+ config._middlewareRequestHeaders = lowerCaseAllHeaders(request.headers);
3375
+ return config;
3376
+ };
3377
+
3378
+ const onRequestWrapper = (request, config) => {
3379
+ if (config._middlewareRequestHeaders) {
3380
+ FORWARD_HEADERS_KEYS.forEach((key) => {
3381
+ if (config._middlewareRequestHeaders && config._middlewareRequestHeaders[key]) {
3382
+ if (key === 'cookie') {
3383
+ request.headers.cookie = handleSessionCookie(config._middlewareRequestHeaders[key]);
3384
+ }
3385
+ else {
3386
+ request.headers[key] = config._middlewareRequestHeaders[key];
3301
3387
  }
3302
- request.headers[key] = value;
3303
3388
  }
3304
3389
  });
3305
3390
  }
3306
- addResponseHeaders(response) {
3307
- Object.entries(this.responseHeaders).forEach(([key, value]) => {
3308
- if (this.headerWhitelist.includes(key)) {
3309
- if (key === 'set-cookie') {
3310
- if (Array.isArray(value)) {
3311
- value = value.map((setCookieHeader) => {
3312
- return setCookieHeader.replace(/domain=[^;]+;/, '');
3313
- }).filter((setCookieHeader) => {
3314
- return !this.setCookieHeaderBlacklist.some((blacklistedHeader) => setCookieHeader.includes(blacklistedHeader));
3315
- });
3316
- }
3317
- else {
3318
- value = value?.toString().replace(/domain=[^;]+;/, '');
3319
- }
3320
- value = this.changeHeaderValueKey(value || '', HeaderSyncer.PlentyIdCookie, HeaderSyncer.PwaSessionIdCookie);
3321
- if (value) {
3322
- response.setHeader(key, value);
3323
- }
3324
- }
3325
- else if (value) {
3326
- response.setHeader(key, value.toString());
3391
+ request.headers['x-security-token'] = config.api?.securityToken ?? '';
3392
+ if (request.url) {
3393
+ const url = new URL(request.url);
3394
+ // { ReferrerID: 'referrerid }
3395
+ // will set ReferrerID as url query parameter and use lowercase referrerid to get the value from the actual request headers
3396
+ const queryParams = config.api?.queryParams || {
3397
+ noCache: 'nocache',
3398
+ ReferrerID: 'referrerid'
3399
+ };
3400
+ Object.entries(queryParams).forEach(([key, value]) => {
3401
+ if (value) {
3402
+ const headerValue = config._middlewareRequestHeaders?.[value];
3403
+ if (headerValue) {
3404
+ url.searchParams.set(key, headerValue);
3327
3405
  }
3328
3406
  }
3329
3407
  });
3330
- response.set('Access-Control-Expose-Headers', 'x-csrf-token');
3331
- this.clearHeaders();
3332
- return response;
3408
+ request.url = url.toString();
3333
3409
  }
3334
- }
3335
- HeaderSyncer.PlentyIdCookie = 'plentyID';
3336
- HeaderSyncer.PwaSessionIdCookie = 'pwa-session-id';
3337
-
3338
- class ReferrerSyncer {
3339
- constructor() {
3340
- this.requestReferrerID = null;
3341
- }
3342
- storeRequestReferrerHeader(headers) {
3343
- this.requestReferrerID = headers[ReferrerSyncer.HeaderReferrerKey] ?? null;
3344
- }
3345
- addReferrerToUrl(request) {
3346
- if (this.requestReferrerID && request.url) {
3347
- const url = new URL(request.url);
3348
- url.searchParams.set(ReferrerSyncer.APIReferrerKey, this.requestReferrerID);
3349
- request.url = url.toString();
3350
- }
3351
- this.requestReferrerID = null;
3352
- }
3353
- }
3354
- ReferrerSyncer.HeaderReferrerKey = 'referrerid';
3355
- ReferrerSyncer.APIReferrerKey = 'ReferrerID';
3356
-
3357
- class NoCacheSyncer {
3358
- constructor() {
3359
- this.noCacheValue = null;
3360
- }
3361
- storeNoCacheValue(headers) {
3362
- this.noCacheValue = headers[NoCacheSyncer.HeaderNoCacheKey] ?? null;
3363
- }
3364
- addNoCacheToUrl(request) {
3365
- if (this.noCacheValue && request.url) {
3366
- const url = new URL(request.url);
3367
- url.searchParams.set(NoCacheSyncer.APINoCacheKey, this.noCacheValue);
3368
- request.url = url.toString();
3369
- }
3370
- this.noCacheValue = null;
3371
- }
3372
- }
3373
- NoCacheSyncer.HeaderNoCacheKey = 'nocache';
3374
- NoCacheSyncer.APINoCacheKey = 'noCache';
3410
+ if (config.api?.debug)
3411
+ logRequest(request);
3412
+ return request;
3413
+ };
3375
3414
 
3376
- class ApiEventsSyncer {
3377
- constructor() {
3378
- this.eventStore = new Map();
3379
- }
3380
- storeApiEvents(events) {
3381
- this.eventStore.set('apiEvents', events);
3382
- }
3383
- getApiEvents() {
3384
- const events = this.eventStore.get('apiEvents');
3385
- return events && Object.keys(events).length > 0 ? events : null;
3386
- }
3387
- clearApiEvents() {
3388
- this.eventStore.delete('apiEvents');
3389
- }
3390
- addApiEventsToResponse(response) {
3391
- const apiEvents = this.getApiEvents();
3392
- if (apiEvents && response?.data && typeof response.data === 'object')
3393
- response.data.apiEvents = apiEvents;
3394
- this.clearApiEvents();
3395
- return response;
3396
- }
3397
- }
3415
+ const onResponseWrapper = (response, config) => {
3416
+ config._apiResponseHeaders = response.headers;
3417
+ config._apiEvents = response.data?.events || undefined;
3418
+ if (config.api?.debug)
3419
+ logResponse(response);
3420
+ return response;
3421
+ };
3398
3422
 
3399
- const apiEventsSyncer = new ApiEventsSyncer();
3400
- const headerSyncer = new HeaderSyncer();
3401
- const referrerSyncer = new ReferrerSyncer();
3402
- const noCacheSyncer = new NoCacheSyncer();
3403
3423
  const buildClient = (config) => {
3404
3424
  const client = axios__default["default"].create({
3405
3425
  withCredentials: true,
3406
3426
  });
3407
- client.interceptors.request.use((request) => {
3408
- headerSyncer.addSecurityHeaders(request, config);
3409
- headerSyncer.addRequestHeaders(request);
3410
- referrerSyncer.addReferrerToUrl(request);
3411
- noCacheSyncer.addNoCacheToUrl(request);
3412
- if (config.api.debug)
3413
- logRequest(request);
3414
- return request;
3415
- });
3416
- client.interceptors.response.use((response) => {
3417
- headerSyncer.storeResponseHeaders(response.headers);
3418
- if (response.data?.events)
3419
- apiEventsSyncer.storeApiEvents(response.data.events);
3420
- if (config.api.debug)
3421
- logResponse(response);
3422
- return response;
3423
- });
3427
+ client.interceptors.request.use((request) => onRequestWrapper(request, config));
3428
+ client.interceptors.response.use((response) => onResponseWrapper(response, config));
3424
3429
  return client;
3425
3430
  };
3426
3431
  const onCreate = (config) => {
3427
3432
  const client = buildClient(config);
3428
- return {
3429
- config,
3430
- client,
3431
- };
3433
+ return { config, client };
3432
3434
  };
3433
3435
  const middlewareExtension = {
3434
3436
  name: 'middleware-extension',
3435
3437
  hooks: (req, res) => ({
3436
3438
  beforeCreate: ({ configuration }) => {
3437
- headerSyncer.storeRequestHeaders(req.headers);
3438
- referrerSyncer.storeRequestReferrerHeader(req.headers);
3439
- noCacheSyncer.storeNoCacheValue(req.headers);
3440
- return configuration;
3439
+ return beforeCreateWrapper(req, configuration);
3441
3440
  },
3442
- afterCall: ({ response }) => {
3443
- headerSyncer.addResponseHeaders(res);
3444
- apiEventsSyncer.addApiEventsToResponse(response);
3445
- return response;
3441
+ afterCall: ({ configuration, response }) => {
3442
+ return afterCallWrapper(response, res, configuration);
3446
3443
  },
3447
3444
  }),
3448
3445
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,34 @@
1
+ export interface StorageMetadataParams {
2
+ key: string;
3
+ }
4
+ export interface StorageMetadataData {
5
+ width: string;
6
+ height: string;
7
+ }
8
+ export interface StorageMetadataResponse {
9
+ events: [];
10
+ data: StorageMetadataData;
11
+ }
12
+ export interface StorageItemsParams {
13
+ fileTypes?: string;
14
+ }
15
+ export interface StorageObject {
16
+ key: string;
17
+ lastModified: string;
18
+ eTag: string;
19
+ size: string;
20
+ storageClass: string;
21
+ publicUrl: string;
22
+ previewUrl?: string;
23
+ }
24
+ export interface StorageItemData {
25
+ isTruncated: boolean;
26
+ nextContinuationToken: string;
27
+ commonPrefixes: string[];
28
+ objects: StorageObject[];
29
+ }
30
+ export interface StorageItemsResponse {
31
+ events: [];
32
+ data: StorageItemData;
33
+ }
34
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/types/api/storage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,EAAE,CAAC;IACX,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,EAAE,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;CACvB"}
@@ -1,11 +1,22 @@
1
+ import { PlentyEvents } from '../api';
1
2
  /**
2
3
  * Settings to be provided in the `middleware.config.js` file.
3
4
  */
4
5
  export interface MiddlewareConfig {
5
6
  api: {
6
7
  url: string;
7
- securityToken: string;
8
+ securityToken: string | undefined;
8
9
  debug?: boolean;
10
+ queryParams?: {
11
+ [key: string]: string | null | undefined;
12
+ };
9
13
  };
14
+ _middlewareRequestHeaders?: {
15
+ [key: string]: string | undefined;
16
+ };
17
+ _apiResponseHeaders?: {
18
+ [key: string]: string | string[] | undefined;
19
+ };
20
+ _apiEvents?: PlentyEvents | undefined;
10
21
  }
11
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE;QACH,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE;QACH,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,WAAW,CAAC,EAAG;YACb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;SAC1C,CAAA;KACF,CAAC;IACF,yBAAyB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAClE,mBAAmB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAG,GAAG,SAAS,CAAA;KAAE,CAAC;IACxE,UAAU,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACvC"}
@@ -1,10 +0,0 @@
1
- import { AfterCallArgs } from '@vue-storefront/middleware';
2
- import { PlentyEvents } from 'src/types';
3
- export declare class ApiEventsSyncer {
4
- private eventStore;
5
- storeApiEvents(events: PlentyEvents): void;
6
- getApiEvents(): PlentyEvents | null;
7
- clearApiEvents(): void;
8
- addApiEventsToResponse(response: AfterCallArgs): Response;
9
- }
10
- //# sourceMappingURL=api-events-syncer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-events-syncer.d.ts","sourceRoot":"","sources":["../../src/helpers/api-events-syncer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAmC;IAErD,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAI1C,YAAY,IAAI,YAAY,GAAG,IAAI;IAMnC,cAAc,IAAI,IAAI;IAItB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ;CAO1D"}
@@ -1,24 +0,0 @@
1
- import { AxiosHeaderValue, AxiosResponseHeaders, InternalAxiosRequestConfig, RawAxiosResponseHeaders } from 'axios';
2
- import { MiddlewareConfig } from '../types';
3
- import type { Response } from 'express';
4
- export declare class HeaderSyncer {
5
- static PlentyIdCookie: string;
6
- static PwaSessionIdCookie: string;
7
- constructor();
8
- responseHeaders: {
9
- [key: string]: AxiosHeaderValue | undefined;
10
- };
11
- requestHeaders: {
12
- [key: string]: AxiosHeaderValue | undefined;
13
- };
14
- headerWhitelist: string[];
15
- setCookieHeaderBlacklist: string[];
16
- clearHeaders(): void;
17
- storeResponseHeaders(headers: RawAxiosResponseHeaders | AxiosResponseHeaders): void;
18
- storeRequestHeaders(headers: RawAxiosResponseHeaders | AxiosResponseHeaders): void;
19
- addSecurityHeaders(request: InternalAxiosRequestConfig, config: MiddlewareConfig): void;
20
- changeHeaderValueKey(value: AxiosHeaderValue, oldKey: string, newKey: string): string | string[];
21
- addRequestHeaders(request: InternalAxiosRequestConfig): void;
22
- addResponseHeaders(response: Response): Response;
23
- }
24
- //# sourceMappingURL=header-syncer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"header-syncer.d.ts","sourceRoot":"","sources":["../../src/helpers/header-syncer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AACpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,YAAY;IAEvB,MAAM,CAAC,cAAc,SAAc;IACnC,MAAM,CAAC,kBAAkB,SAAoB;;IAI7C,eAAe,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAA;KAAC,CAAM;IACpE,cAAc,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAA;KAAC,CAAM;IACnE,eAAe,WAAwF;IACvG,wBAAwB,WAAkB;IAE1C,YAAY,IAAI,IAAI;IAKpB,oBAAoB,CAAC,OAAO,EAAE,uBAAuB,GAAG,oBAAoB,GAAG,IAAI;IAKnF,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,oBAAoB,GAAG,IAAI;IAIlF,kBAAkB,CAAC,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAIvF,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE;IAiChG,iBAAiB,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAW5D,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ;CA8BjD"}
@@ -1,10 +0,0 @@
1
- import { AxiosResponseHeaders, InternalAxiosRequestConfig, RawAxiosResponseHeaders } from 'axios';
2
- export declare class NoCacheSyncer {
3
- static HeaderNoCacheKey: string;
4
- static APINoCacheKey: string;
5
- constructor();
6
- private noCacheValue;
7
- storeNoCacheValue(headers: RawAxiosResponseHeaders | AxiosResponseHeaders): void;
8
- addNoCacheToUrl(request: InternalAxiosRequestConfig): void;
9
- }
10
- //# sourceMappingURL=noCacheSyncer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"noCacheSyncer.d.ts","sourceRoot":"","sources":["../../src/helpers/noCacheSyncer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,OAAO,CAAC;AAEf,qBAAa,aAAa;IACxB,MAAM,CAAC,gBAAgB,SAAa;IACpC,MAAM,CAAC,aAAa,SAAa;;IAIjC,OAAO,CAAC,YAAY,CAAuB;IAE3C,iBAAiB,CACf,OAAO,EAAE,uBAAuB,GAAG,oBAAoB,GACtD,IAAI;IAIP,eAAe,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;CAc3D"}
@@ -1,10 +0,0 @@
1
- import { AxiosResponseHeaders, InternalAxiosRequestConfig, RawAxiosResponseHeaders } from 'axios';
2
- export declare class ReferrerSyncer {
3
- static HeaderReferrerKey: string;
4
- static APIReferrerKey: string;
5
- constructor();
6
- private requestReferrerID;
7
- storeRequestReferrerHeader(headers: RawAxiosResponseHeaders | AxiosResponseHeaders): void;
8
- addReferrerToUrl(request: InternalAxiosRequestConfig): void;
9
- }
10
- //# sourceMappingURL=referrerSyncer.d.ts.map