@unchainedshop/plugins 4.0.0-rc.14 → 4.0.0-rc.16

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 (80) hide show
  1. package/lib/files/gridfs/handler-express.d.ts.map +1 -1
  2. package/lib/files/gridfs/handler-express.js +11 -22
  3. package/lib/files/gridfs/handler-express.js.map +1 -1
  4. package/lib/files/gridfs/handler-fastify.d.ts.map +1 -1
  5. package/lib/files/gridfs/handler-fastify.js +34 -9
  6. package/lib/files/gridfs/handler-fastify.js.map +1 -1
  7. package/lib/files/minio/handler-express.d.ts.map +1 -1
  8. package/lib/files/minio/handler-express.js +3 -6
  9. package/lib/files/minio/handler-express.js.map +1 -1
  10. package/lib/files/minio/handler-fastify.js +1 -1
  11. package/lib/files/minio/handler-fastify.js.map +1 -1
  12. package/lib/filters/strict-equal.js +0 -18
  13. package/lib/filters/strict-equal.js.map +1 -1
  14. package/lib/payment/apple-iap/handler-express.d.ts.map +1 -1
  15. package/lib/payment/apple-iap/handler-express.js +3 -6
  16. package/lib/payment/apple-iap/handler-express.js.map +1 -1
  17. package/lib/payment/apple-iap/handler-fastify.js +2 -2
  18. package/lib/payment/apple-iap/handler-fastify.js.map +1 -1
  19. package/lib/payment/cryptopay/handler-express.d.ts.map +1 -1
  20. package/lib/payment/cryptopay/handler-express.js +3 -6
  21. package/lib/payment/cryptopay/handler-express.js.map +1 -1
  22. package/lib/payment/datatrans-v2/handler-express.d.ts.map +1 -1
  23. package/lib/payment/datatrans-v2/handler-express.js +5 -10
  24. package/lib/payment/datatrans-v2/handler-express.js.map +1 -1
  25. package/lib/payment/datatrans-v2/handler-fastify.js +4 -4
  26. package/lib/payment/datatrans-v2/handler-fastify.js.map +1 -1
  27. package/lib/payment/payrexx/handler-express.d.ts.map +1 -1
  28. package/lib/payment/payrexx/handler-express.js +12 -14
  29. package/lib/payment/payrexx/handler-express.js.map +1 -1
  30. package/lib/payment/payrexx/handler-fastify.d.ts.map +1 -1
  31. package/lib/payment/payrexx/handler-fastify.js +20 -14
  32. package/lib/payment/payrexx/handler-fastify.js.map +1 -1
  33. package/lib/payment/postfinance-checkout/api-client.d.ts.map +1 -1
  34. package/lib/payment/postfinance-checkout/api-client.js +7 -7
  35. package/lib/payment/postfinance-checkout/api-client.js.map +1 -1
  36. package/lib/payment/postfinance-checkout/handler-express.d.ts.map +1 -1
  37. package/lib/payment/postfinance-checkout/handler-express.js +3 -6
  38. package/lib/payment/postfinance-checkout/handler-express.js.map +1 -1
  39. package/lib/payment/postfinance-checkout/handler-fastify.js +2 -2
  40. package/lib/payment/postfinance-checkout/handler-fastify.js.map +1 -1
  41. package/lib/payment/saferpay/handler-express.d.ts.map +1 -1
  42. package/lib/payment/saferpay/handler-express.js +7 -7
  43. package/lib/payment/saferpay/handler-express.js.map +1 -1
  44. package/lib/payment/saferpay/handler-fastify.d.ts.map +1 -1
  45. package/lib/payment/saferpay/handler-fastify.js +8 -4
  46. package/lib/payment/saferpay/handler-fastify.js.map +1 -1
  47. package/lib/payment/stripe/handler-express.d.ts.map +1 -1
  48. package/lib/payment/stripe/handler-express.js +16 -16
  49. package/lib/payment/stripe/handler-express.js.map +1 -1
  50. package/lib/payment/stripe/handler-fastify.d.ts.map +1 -1
  51. package/lib/payment/stripe/handler-fastify.js +24 -11
  52. package/lib/payment/stripe/handler-fastify.js.map +1 -1
  53. package/lib/pricing/product-catalog-price.d.ts.map +1 -1
  54. package/lib/pricing/product-catalog-price.js +24 -0
  55. package/lib/pricing/product-catalog-price.js.map +1 -1
  56. package/lib/worker/bulk-import.d.ts.map +1 -1
  57. package/lib/worker/bulk-import.js +7 -30
  58. package/lib/worker/bulk-import.js.map +1 -1
  59. package/package.json +13 -15
  60. package/src/files/gridfs/handler-express.ts +11 -22
  61. package/src/files/gridfs/handler-fastify.ts +35 -10
  62. package/src/files/minio/handler-express.ts +3 -6
  63. package/src/files/minio/handler-fastify.ts +1 -1
  64. package/src/filters/strict-equal.ts +0 -21
  65. package/src/payment/apple-iap/handler-express.ts +3 -6
  66. package/src/payment/apple-iap/handler-fastify.ts +2 -2
  67. package/src/payment/cryptopay/handler-express.ts +3 -6
  68. package/src/payment/datatrans-v2/handler-express.ts +5 -10
  69. package/src/payment/datatrans-v2/handler-fastify.ts +4 -4
  70. package/src/payment/payrexx/handler-express.ts +21 -31
  71. package/src/payment/payrexx/handler-fastify.ts +28 -29
  72. package/src/payment/postfinance-checkout/api-client.ts +13 -8
  73. package/src/payment/postfinance-checkout/handler-express.ts +3 -6
  74. package/src/payment/postfinance-checkout/handler-fastify.ts +2 -2
  75. package/src/payment/saferpay/handler-express.ts +10 -12
  76. package/src/payment/saferpay/handler-fastify.ts +10 -8
  77. package/src/payment/stripe/handler-express.ts +24 -32
  78. package/src/payment/stripe/handler-fastify.ts +31 -26
  79. package/src/pricing/product-catalog-price.ts +23 -0
  80. package/src/worker/bulk-import.ts +9 -49
@@ -1 +1 @@
1
- {"version":3,"file":"handler-fastify.js","sourceRoot":"","sources":["../../../src/payment/stripe/handler-fastify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler-fastify.js","sourceRoot":"","sources":["../../../src/payment/stripe/handler-fastify.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"product-catalog-price.d.ts","sourceRoot":"","sources":["../../src/pricing/product-catalog-price.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,YAAY,EAAE,sBAuC1B,CAAC"}
1
+ {"version":3,"file":"product-catalog-price.d.ts","sourceRoot":"","sources":["../../src/pricing/product-catalog-price.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAG7B,eAAO,MAAM,YAAY,EAAE,sBA6D1B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { ProductPricingDirector, ProductPricingAdapter, } from '@unchainedshop/core';
2
+ import { ProductTypes } from '@unchainedshop/core-products';
2
3
  export const ProductPrice = {
3
4
  ...ProductPricingAdapter,
4
5
  key: 'shop.unchained.pricing.product-price',
@@ -28,6 +29,29 @@ export const ProductPrice = {
28
29
  meta: { adapter: ProductPrice.key },
29
30
  });
30
31
  }
32
+ else if (product.type === ProductTypes.BundleProduct) {
33
+ for (const bundleItem of product.bundleItems || []) {
34
+ const bundledProduct = await modules.products.findProduct({
35
+ productId: bundleItem.productId,
36
+ });
37
+ if (bundledProduct) {
38
+ const bundleItemPrice = await modules.products.prices.price(bundledProduct, {
39
+ countryCode,
40
+ currencyCode,
41
+ quantity: bundleItem.quantity * quantity,
42
+ });
43
+ if (bundleItemPrice) {
44
+ const bundleItemTotal = bundleItemPrice.amount * bundleItem.quantity * quantity;
45
+ pricingAdapter.resultSheet().addItem({
46
+ amount: bundleItemTotal,
47
+ isTaxable: bundleItemPrice.isTaxable,
48
+ isNetPrice: bundleItemPrice.isNetPrice,
49
+ meta: { adapter: ProductPrice.key },
50
+ });
51
+ }
52
+ }
53
+ }
54
+ }
31
55
  return pricingAdapter.calculate();
32
56
  },
33
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"product-catalog-price.js","sourceRoot":"","sources":["../../src/pricing/product-catalog-price.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,GAAG,qBAAqB;IAExB,GAAG,EAAE,sCAAsC;IAC3C,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,4BAA4B;IACnC,UAAU,EAAE,CAAC;IAEb,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE7D,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;gBACjF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBACzD,WAAW;oBACX,YAAY;oBACZ,QAAQ;iBACT,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;oBAC1C,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;wBACnC,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,IAAI,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE;qBACpC,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;YACpC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,sBAAsB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"product-catalog-price.js","sourceRoot":"","sources":["../../src/pricing/product-catalog-price.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,GAAG,qBAAqB;IAExB,GAAG,EAAE,sCAAsC;IAC3C,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,4BAA4B;IACnC,UAAU,EAAE,CAAC;IAEb,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE7D,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;gBACjF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBACzD,WAAW;oBACX,YAAY;oBACZ,QAAQ;iBACT,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;oBAC1C,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;wBACnC,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,IAAI,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE;qBACpC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,aAAa,EAAE,CAAC;oBACvD,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;wBACnD,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;4BACxD,SAAS,EAAE,UAAU,CAAC,SAAS;yBAChC,CAAC,CAAC;wBACH,IAAI,cAAc,EAAE,CAAC;4BACnB,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE;gCAC1E,WAAW;gCACX,YAAY;gCACZ,QAAQ,EAAE,UAAU,CAAC,QAAQ,GAAG,QAAQ;6BACzC,CAAC,CAAC;4BACH,IAAI,eAAe,EAAE,CAAC;gCACpB,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;gCAChF,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;oCACnC,MAAM,EAAE,eAAe;oCACvB,SAAS,EAAE,eAAe,CAAC,SAAS;oCACpC,UAAU,EAAE,eAAe,CAAC,UAAU;oCACtC,IAAI,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE;iCACpC,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;YACpC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,sBAAsB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bulk-import.d.ts","sourceRoot":"","sources":["../../src/worker/bulk-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAqDpF,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA8DzE,CAAC"}
1
+ {"version":3,"file":"bulk-import.d.ts","sourceRoot":"","sources":["../../src/worker/bulk-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKpF,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsEzE,CAAC"}
@@ -1,35 +1,6 @@
1
1
  import { WorkerDirector, WorkerAdapter } from '@unchainedshop/core';
2
2
  import { createLogger } from '@unchainedshop/logger';
3
- import JSONStream from 'JSONStream';
4
- import { EventIterator } from 'event-iterator';
5
3
  const logger = createLogger('unchained:worker:bulk-import');
6
- const streamPayloadToBulkImporter = async (bulkImporter, payloadId, unchainedAPI) => {
7
- logger.trace(`parseAsync start`);
8
- const readStream = await unchainedAPI.services.files.createDownloadStream({ fileId: payloadId });
9
- if (!readStream) {
10
- throw new Error('The current file adapter does not support streams when downloading required for streamed events. Please use a different file adapter.');
11
- }
12
- const eventIterator = new EventIterator((queue) => {
13
- const jsonStream = JSONStream.parse('events.*'); // rows, ANYTHING, doc
14
- jsonStream.on('data', queue.push);
15
- jsonStream.on('close', queue.stop);
16
- jsonStream.on('error', queue.fail);
17
- queue.on('highWater', () => readStream.pause());
18
- queue.on('lowWater', () => readStream.resume());
19
- readStream.pipe(jsonStream);
20
- readStream.on('error', queue.fail);
21
- return () => {
22
- jsonStream.removeListener('data', queue.push);
23
- jsonStream.removeListener('close', queue.stop);
24
- jsonStream.removeListener('error', queue.fail);
25
- jsonStream.destroy();
26
- };
27
- }, { highWaterMark: 100, lowWaterMark: 5 });
28
- for await (const event of eventIterator) {
29
- await bulkImporter.prepare(event, unchainedAPI);
30
- }
31
- logger.trace(`parseAsync done`);
32
- };
33
4
  export const BulkImportWorker = {
34
5
  ...WorkerAdapter,
35
6
  key: 'shop.unchained.worker-plugin.bulk-import',
@@ -47,7 +18,13 @@ export const BulkImportWorker = {
47
18
  });
48
19
  if (rawPayload.payloadId) {
49
20
  // stream payload from gridfs
50
- await streamPayloadToBulkImporter(bulkImporter, rawPayload.payloadId, unchainedAPI);
21
+ const readStream = await unchainedAPI.services.files.createDownloadStream({
22
+ fileId: rawPayload.payloadId,
23
+ });
24
+ if (!readStream) {
25
+ throw new Error('The current file adapter does not support streams when downloading required for streamed events. Please use a different file adapter.');
26
+ }
27
+ await unchainedAPI.bulkImporter.pipeEventStream(readStream, bulkImporter, unchainedAPI);
51
28
  }
52
29
  else {
53
30
  const { events } = rawPayload;
@@ -1 +1 @@
1
- {"version":3,"file":"bulk-import.js","sourceRoot":"","sources":["../../src/worker/bulk-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bulk-import.js","sourceRoot":"","sources":["../../src/worker/bulk-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAiD;IAC5E,GAAG,aAAa;IAEhB,GAAG,EAAE,0CAA0C;IAC/C,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,aAAa;IACnB,sBAAsB,EAAE,CAAC,EAAE,6CAA6C;IAExE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,EACJ,4BAA4B,GAAG,KAAK,EACpC,qBAAqB,GAAG,KAAK,EAC7B,+BAA+B,GAAG,KAAK,GACxC,GAAG,UAAU,CAAC;YAEf,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC;gBAChE,4BAA4B;gBAC5B,+BAA+B;gBAC/B,qBAAqB;aACtB,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,6BAA6B;gBAC7B,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC;oBACxE,MAAM,EAAE,UAAU,CAAC,SAAS;iBAC7B,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CACb,uIAAuI,CACxI,CAAC;gBACJ,CAAC;gBACD,MAAM,YAAY,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;gBAC9B,IAAI,CAAC,MAAM,EAAE,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAE5D,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE;oBAC3D,MAAM,mBAAmB,CAAC;oBAC1B,OAAO,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBACvD,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACxB,CAAC;YAED,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;YACrD,MAAM,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAElD,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM;oBACN,KAAK;iBACN,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM;aACP,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;iBACjB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF,cAAc,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/plugins",
3
- "version": "4.0.0-rc.14",
3
+ "version": "4.0.0-rc.16",
4
4
  "main": "lib/plugins-index.js",
5
5
  "types": "lib/plugins-index.d.ts",
6
6
  "exports": {
@@ -34,20 +34,18 @@
34
34
  },
35
35
  "homepage": "https://github.com/unchainedshop/unchained#readme",
36
36
  "dependencies": {
37
- "@unchainedshop/api": "^4.0.0-rc.14",
38
- "@unchainedshop/core-delivery": "^4.0.0-rc.14",
39
- "@unchainedshop/core-enrollments": "^4.0.0-rc.14",
40
- "@unchainedshop/core-orders": "^4.0.0-rc.14",
41
- "@unchainedshop/core-payment": "^4.0.0-rc.14",
42
- "@unchainedshop/core-products": "^4.0.0-rc.14",
43
- "@unchainedshop/core-warehousing": "^4.0.0-rc.14",
44
- "@unchainedshop/core-worker": "^4.0.0-rc.14",
45
- "@unchainedshop/events": "^4.0.0-rc.14",
46
- "@unchainedshop/file-upload": "^4.0.0-rc.14",
47
- "@unchainedshop/logger": "^4.0.0-rc.14",
48
- "@unchainedshop/utils": "^4.0.0-rc.14",
49
- "event-iterator": "^2.0.0",
50
- "JSONStream": "^1.3.5"
37
+ "@unchainedshop/api": "^4.0.0-rc.15",
38
+ "@unchainedshop/core-delivery": "^4.0.0-rc.15",
39
+ "@unchainedshop/core-enrollments": "^4.0.0-rc.15",
40
+ "@unchainedshop/core-orders": "^4.0.0-rc.15",
41
+ "@unchainedshop/core-payment": "^4.0.0-rc.15",
42
+ "@unchainedshop/core-products": "^4.0.0-rc.15",
43
+ "@unchainedshop/core-warehousing": "^4.0.0-rc.15",
44
+ "@unchainedshop/core-worker": "^4.0.0-rc.15",
45
+ "@unchainedshop/events": "^4.0.0-rc.15",
46
+ "@unchainedshop/file-upload": "^4.0.0-rc.15",
47
+ "@unchainedshop/logger": "^4.0.0-rc.15",
48
+ "@unchainedshop/utils": "^4.0.0-rc.15"
51
49
  },
52
50
  "peerDependencies": {
53
51
  "@aws-sdk/client-eventbridge": ">= 3.714 < 4",
@@ -34,8 +34,7 @@ const gridfsHandler = async (
34
34
  res.setHeader('Access-Control-Allow-Origin', '*');
35
35
 
36
36
  if (req.method === 'OPTIONS') {
37
- res.statusCode = 200;
38
- res.end();
37
+ res.status(200).end();
39
38
  return;
40
39
  }
41
40
 
@@ -46,8 +45,7 @@ const gridfsHandler = async (
46
45
  if ((await sign(directoryName, fileId, expiryDate.getTime())) === signature) {
47
46
  const file = await modules.files.findFile({ fileId });
48
47
  if (file.expires === null) {
49
- res.statusCode = 400;
50
- res.end('File already linked');
48
+ res.status(400).send('File already linked');
51
49
  return;
52
50
  }
53
51
  // If the type is octet-stream, prefer mimetype lookup from the filename
@@ -77,12 +75,10 @@ const gridfsHandler = async (
77
75
  const { length } = writeStream;
78
76
  await services.files.linkFile({ fileId, size: length, type });
79
77
 
80
- res.statusCode = 200;
81
- res.end();
78
+ res.status(200).end();
82
79
  return;
83
80
  }
84
- res.statusCode = 403;
85
- res.end();
81
+ res.status(403).end();
86
82
  return;
87
83
  }
88
84
 
@@ -94,8 +90,7 @@ const gridfsHandler = async (
94
90
  if (fileDocument?.meta?.isPrivate) {
95
91
  const expiry = parseInt(expiryTimestamp as string, 10);
96
92
  if (expiry <= Date.now()) {
97
- res.statusCode = 403;
98
- res.end('Access restricted: Expired.');
93
+ res.status(403).send('Access restricted: Expired.');
99
94
  return;
100
95
  }
101
96
 
@@ -103,13 +98,11 @@ const gridfsHandler = async (
103
98
  const signedUrl = await fileUploadAdapter.createDownloadURL(fileDocument, expiry);
104
99
 
105
100
  if (new URL(signedUrl, 'file://').searchParams.get('s') !== signature) {
106
- res.statusCode = 403;
107
- res.end('Access restricted: Invalid signature.');
101
+ res.status(403).send('Access restricted: Invalid signature.');
108
102
  return;
109
103
  }
110
104
  } else if (!fileDocument) {
111
- res.statusCode = 404;
112
- res.end();
105
+ res.status(404).end();
113
106
  return;
114
107
  }
115
108
  if (file?.metadata?.['content-type']) {
@@ -122,21 +115,17 @@ const gridfsHandler = async (
122
115
  const readStream = await modules.gridfsFileUploads.createReadStream(directoryName, fileId);
123
116
  readStream.pipe(res, { end: false });
124
117
  await finished(readStream);
125
- res.statusCode = 200;
126
- res.end();
118
+ res.status(200).end();
127
119
  return;
128
120
  }
129
- res.statusCode = 404;
130
- res.end();
121
+ res.status(404).end();
131
122
  } catch (e) {
132
123
  if (e.code === 'ENOENT') {
133
124
  logger.warn(e);
134
- res.statusCode = 404;
135
- res.end(e.message);
125
+ res.status(404).send();
136
126
  } else {
137
127
  logger.warn(e);
138
- res.statusCode = 503;
139
- res.end(JSON.stringify({ name: e.name, code: e.code, message: e.message }));
128
+ res.status(503).send({ name: e.name, code: e.code, message: e.message });
140
129
  }
141
130
  }
142
131
  };
@@ -41,7 +41,12 @@ const gridfsHandler: RouteHandlerMethod = async (
41
41
  const file = await modules.files.findFile({ fileId });
42
42
  if (file.expires === null) {
43
43
  reply.status(400);
44
- return reply.send('File already linked');
44
+ logger.error('File already linked', { fileId });
45
+ return reply.send({
46
+ success: false,
47
+ message: 'File already linked',
48
+ name: 'FILE_ALREADY_LINKED',
49
+ });
45
50
  }
46
51
  // If the type is octet-stream, prefer mimetype lookup from the filename
47
52
  // Else prefer the content-type header
@@ -72,11 +77,20 @@ const gridfsHandler: RouteHandlerMethod = async (
72
77
  await services.files.linkFile({ fileId, size: length, type });
73
78
 
74
79
  reply.status(200);
75
- return reply.send();
80
+ return reply.send({
81
+ success: true,
82
+ fileId,
83
+ size: length,
84
+ type,
85
+ });
76
86
  }
77
-
87
+ logger.error('Invalid signature', { fileId, expiryDate });
78
88
  reply.status(403);
79
- return reply.send();
89
+ return reply.send({
90
+ success: false,
91
+ message: 'Access restricted: Invalid signature.',
92
+ name: 'INVALID_SIGNATURE',
93
+ });
80
94
  }
81
95
 
82
96
  if (req.method === 'GET') {
@@ -87,8 +101,13 @@ const gridfsHandler: RouteHandlerMethod = async (
87
101
  if (fileDocument?.meta?.isPrivate) {
88
102
  const expiry = parseInt(expiryTimestamp as string, 10);
89
103
  if (expiry <= Date.now()) {
104
+ logger.error('URL Expired', { fileId, expiry });
90
105
  reply.status(403);
91
- return reply.send('Access restricted: Expired.');
106
+ return reply.send({
107
+ success: false,
108
+ message: 'Access restricted: URL expired.',
109
+ name: 'URL_EXPIRED',
110
+ });
92
111
  }
93
112
 
94
113
  const fileUploadAdapter = getFileAdapter();
@@ -96,9 +115,15 @@ const gridfsHandler: RouteHandlerMethod = async (
96
115
 
97
116
  if (new URL(signedUrl, 'file://').searchParams.get('s') !== signature) {
98
117
  reply.status(403);
99
- return reply.send('Access restricted: Invalid signature.');
118
+ logger.error('Invalid signature', { fileId, expiry });
119
+ return reply.send({
120
+ success: false,
121
+ message: 'Access restricted: Invalid signature.',
122
+ name: 'INVALID_SIGNATURE',
123
+ });
100
124
  }
101
125
  } else if (!fileDocument) {
126
+ logger.error('File not found', { fileId });
102
127
  reply.status(404);
103
128
  return reply.send();
104
129
  }
@@ -119,14 +144,14 @@ const gridfsHandler: RouteHandlerMethod = async (
119
144
  reply.status(404);
120
145
  return reply.send();
121
146
  } catch (e) {
147
+ logger.error(e);
148
+
122
149
  if (e.code === 'ENOENT') {
123
- logger.warn(e);
124
150
  reply.status(404);
125
- return reply.send({ name: e.name, code: e.code, message: e.message });
151
+ return reply.send();
126
152
  } else {
127
- logger.warn(e);
128
153
  reply.status(504);
129
- return reply.send({ name: e.name, code: e.code, message: e.message });
154
+ return reply.send({ success: false, name: e.name, code: e.code, message: e.message });
130
155
  }
131
156
  }
132
157
  };
@@ -21,17 +21,14 @@ const minioHandler = async (req, res) => {
21
21
  const [fileId] = object.key.split('.');
22
22
  const { services } = req.unchainedContext;
23
23
  await services.files.linkFile({ fileId, type, size });
24
- res.writeHead(200);
25
- res.end();
24
+ res.status(200).end();
26
25
  return;
27
26
  }
28
27
  }
29
- res.writeHead(404);
30
- res.end();
28
+ res.status(404).end();
31
29
  } catch (e) {
32
30
  logger.error(e);
33
- res.writeHead(503);
34
- res.end(JSON.stringify({ name: e.name, code: e.code, message: e.message }));
31
+ res.status(503).send({ name: e.name, code: e.code, message: e.message });
35
32
  }
36
33
  };
37
34
 
@@ -37,7 +37,7 @@ const minioHandler: RouteHandlerMethod = async (
37
37
  } catch (e) {
38
38
  logger.error(e);
39
39
  res.status(503);
40
- return res.send(JSON.stringify({ name: e.name, code: e.code, message: e.message }));
40
+ return res.send({ name: e.name, code: e.code, message: e.message });
41
41
  }
42
42
  };
43
43
 
@@ -12,27 +12,6 @@ const StrictQualFilter: IFilterAdapter = {
12
12
  return {
13
13
  ...FilterAdapter.actions(params),
14
14
 
15
- searchProducts: async ({ productIds }) => {
16
- // Search Products
17
- const { queryString } = params.searchQuery;
18
-
19
- if (!queryString && !productIds) {
20
- // If no query string is provided, return all product IDs
21
- return params.modules.products.findProductIds({});
22
- }
23
- return productIds;
24
- },
25
-
26
- searchAssortments: async ({ assortmentIds }) => {
27
- // Search Assortments
28
- const { queryString } = params.searchQuery;
29
- if (!queryString && !assortmentIds) {
30
- // If no query string is provided, return all assortment IDs
31
- return params.modules.assortments.findAssortmentIds({});
32
- }
33
- return assortmentIds;
34
- },
35
-
36
15
  transformProductSelector: async (lastSelector, options) => {
37
16
  const { key, value } = options || {};
38
17
 
@@ -117,18 +117,15 @@ export const appleIAPHandler = async (req, res) => {
117
117
  logger.info(`Apple IAP Webhook: Updated enrollment from Apple`);
118
118
  }
119
119
 
120
- res.writeHead(200);
121
- res.end();
120
+ res.status(200).end();
122
121
  return;
123
122
  } catch (e) {
124
123
  logger.warn(`Apple IAP Webhook: ${e.message}`, e);
125
- res.writeHead(503);
126
- res.end(JSON.stringify({ name: e.name, code: e.code, message: e.message }));
124
+ res.status(503).send({ name: e.name, code: e.code, message: e.message });
127
125
  return;
128
126
  }
129
127
  }
130
- res.writeHead(404);
131
- res.end();
128
+ res.status(404).end();
132
129
  };
133
130
 
134
131
  export default appleIAPHandler;
@@ -128,9 +128,9 @@ export const appleIAPHandler: RouteHandlerMethod = async (
128
128
  reply.status(200);
129
129
  return reply.send();
130
130
  } catch (e) {
131
- logger.warn(`Apple IAP Webhook: ${e.message}`, e);
131
+ logger.error(e);
132
132
  reply.status(503);
133
- return reply.send({ name: e.name, code: e.code, message: e.message });
133
+ return reply.send({ success: false, name: e.name, code: e.code, message: e.message });
134
134
  }
135
135
  };
136
136
 
@@ -7,18 +7,15 @@ const cryptopayHandler = async (req, res) => {
7
7
  if (req.method === 'POST') {
8
8
  try {
9
9
  await handleWebhook(req.body, req.unchainedContext);
10
- res.writeHead(200);
11
- res.end(JSON.stringify({ success: true }));
10
+ res.status(200).send({ success: true });
12
11
  return;
13
12
  } catch (e) {
14
13
  logger.error(e);
15
- res.writeHead(500);
16
- res.end(JSON.stringify({ success: false, error: e.message }));
14
+ res.status(500).send({ success: false, error: e.message });
17
15
  return;
18
16
  }
19
17
  }
20
- res.writeHead(404);
21
- res.end(JSON.stringify({ success: false }));
18
+ res.status(404).send();
22
19
  };
23
20
 
24
21
  export default cryptopayHandler;
@@ -27,8 +27,7 @@ export const datatransHandler = async (req, res) => {
27
27
 
28
28
  if (hash !== comparableSignature) {
29
29
  logger.error(`hash mismatch: ${signature} / ${comparableSignature}`, req.body);
30
- res.writeHead(403);
31
- res.end('Hash mismatch');
30
+ res.status(403).send('Hash mismatch');
32
31
  return;
33
32
  }
34
33
 
@@ -52,8 +51,7 @@ export const datatransHandler = async (req, res) => {
52
51
  logger.info(`registered payment credentials for ${userId}`, {
53
52
  userId,
54
53
  });
55
- res.writeHead(200);
56
- res.end(JSON.stringify(paymentCredentials));
54
+ res.status(200).send(paymentCredentials);
57
55
  return;
58
56
  }
59
57
  if (transaction.type === 'payment') {
@@ -66,21 +64,18 @@ export const datatransHandler = async (req, res) => {
66
64
  const order = await services.orders.checkoutOrder(orderPayment.orderId, {
67
65
  paymentContext: { userId, transactionId: transaction.transactionId },
68
66
  });
69
- res.writeHead(200);
70
67
  logger.info(`confirmed checkout for order ${order.orderNumber}`, {
71
68
  orderId: order._id,
72
69
  });
73
- res.end(JSON.stringify(order));
70
+ res.status(200).send(order);
74
71
  return;
75
72
  }
76
73
  } catch (e) {
77
74
  logger.error(`rejected to checkout with message`, e);
78
- res.writeHead(500);
79
- res.end(JSON.stringify({ name: e.name, code: e.code, message: e.message }));
75
+ res.status(500).send({ name: e.name, code: e.code, message: e.message });
80
76
  return;
81
77
  }
82
78
  }
83
79
  }
84
- res.writeHead(404);
85
- res.end();
80
+ res.status(404).end();
86
81
  };
@@ -32,9 +32,9 @@ export const datatransHandler: RouteHandlerMethod = async (
32
32
  })(timestamp, req.body as string);
33
33
 
34
34
  if (hash !== comparableSignature) {
35
- logger.error(`hash mismatch: ${signature} / ${comparableSignature}`, req.body as string);
35
+ logger.error(`hash mismatch: ${signature} / ${comparableSignature}`);
36
36
  reply.status(403);
37
- return reply.send('Hash mismatch');
37
+ return reply.send({ success: false, message: 'Invalid Signature', name: 'HASH_MISMATCH' });
38
38
  }
39
39
 
40
40
  const transaction: StatusResponseSuccess = JSON.parse(req.body as string) as StatusResponseSuccess;
@@ -77,9 +77,9 @@ export const datatransHandler: RouteHandlerMethod = async (
77
77
  return reply.send(order);
78
78
  }
79
79
  } catch (e) {
80
- logger.error(`rejected to checkout with message`, e);
80
+ logger.error(e);
81
81
  reply.status(500);
82
- return reply.send({ name: e.name, code: e.code, message: e.message });
82
+ return reply.send({ success: false, name: e.name, code: e.code, message: e.message });
83
83
  }
84
84
  }
85
85
  }
@@ -13,26 +13,20 @@ export const payrexxHandler = async (request, response) => {
13
13
  logger.info(`unhandled event type`, {
14
14
  type: Object.keys(request.body).join(','),
15
15
  });
16
- response.writeHead(200);
17
- response.end(
18
- JSON.stringify({
19
- ignored: true,
20
- message: `Unhandled event type: ${Object.keys(request.body).join(',')}. Supported type: transaction`,
21
- }),
22
- );
16
+ response.status(200).send({
17
+ ignored: true,
18
+ message: `Unhandled event type: ${Object.keys(request.body).join(',')}. Supported type: transaction`,
19
+ });
23
20
  return;
24
21
  }
25
22
  if (transaction.referenceId === '__IGNORE_WEBHOOK__' || transaction.status === 'waiting') {
26
23
  // Ignore confirmed transactions, because those hooks are generated through calling the confirm()
27
24
  // method in the payment adapter and could lead to double bookings.
28
25
  logger.info(`unhandled transaction state: ${transaction.status}`);
29
- response.writeHead(200);
30
- response.end(
31
- JSON.stringify({
32
- ignored: true,
33
- message: `Unhandled transaction state: ${transaction.status}`,
34
- }),
35
- );
26
+ response.status(200).send({
27
+ ignored: true,
28
+ message: `Unhandled transaction state: ${transaction.status}`,
29
+ });
36
30
  return;
37
31
  }
38
32
 
@@ -53,14 +47,11 @@ export const payrexxHandler = async (request, response) => {
53
47
  paymentProviderId,
54
48
  userId,
55
49
  });
56
- response.writeHead(200);
57
- response.end(
58
- JSON.stringify({
59
- message: 'registration successful',
60
- paymentProviderId,
61
- userId,
62
- }),
63
- );
50
+ response.status(200).send({
51
+ message: 'registration successful',
52
+ paymentProviderId,
53
+ userId,
54
+ });
64
55
  } else {
65
56
  const { referenceId: orderPaymentId, invoice } = transaction;
66
57
  logger.info(`checkout with orderPaymentId: ${orderPaymentId}`);
@@ -83,19 +74,18 @@ export const payrexxHandler = async (request, response) => {
83
74
  orderPaymentId,
84
75
  orderId: order._id,
85
76
  });
86
- response.writeHead(200);
87
- response.end(
88
- JSON.stringify({
89
- message: 'checkout successful',
90
- orderId: order._id,
91
- }),
92
- );
77
+ response.status(200).send({
78
+ message: 'checkout successful',
79
+ orderId: order._id,
80
+ });
93
81
  }
94
82
  } catch (error) {
95
83
  logger.error(error, {
96
84
  transactionId: transaction.id,
97
85
  });
98
- response.writeHead(500);
99
- response.end(error.message);
86
+ response.status(500).send({
87
+ message: error.message,
88
+ name: error.name,
89
+ });
100
90
  }
101
91
  };