@unchainedshop/plugins 4.0.0-rc.2 → 4.0.0-rc.3

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 (87) hide show
  1. package/lib/accounts/google-oauth.d.ts +4 -0
  2. package/lib/accounts/google-oauth.d.ts.map +1 -0
  3. package/lib/accounts/google-oauth.js +145 -0
  4. package/lib/accounts/google-oauth.js.map +1 -0
  5. package/lib/accounts/linkedin-oauth.d.ts +4 -0
  6. package/lib/accounts/linkedin-oauth.d.ts.map +1 -0
  7. package/lib/accounts/linkedin-oauth.js +82 -0
  8. package/lib/accounts/linkedin-oauth.js.map +1 -0
  9. package/lib/files/gridfs/gridfs-adapter.d.ts +3 -0
  10. package/lib/files/gridfs/gridfs-adapter.d.ts.map +1 -0
  11. package/lib/files/gridfs/gridfs-adapter.js +97 -0
  12. package/lib/files/gridfs/gridfs-adapter.js.map +1 -0
  13. package/lib/files/gridfs/gridfs-webhook.d.ts +11 -0
  14. package/lib/files/gridfs/gridfs-webhook.d.ts.map +1 -0
  15. package/lib/files/gridfs/gridfs-webhook.js +84 -0
  16. package/lib/files/gridfs/gridfs-webhook.js.map +1 -0
  17. package/lib/files/gridfs/handler-express.d.ts.map +1 -1
  18. package/lib/files/gridfs/handler-express.js +5 -0
  19. package/lib/files/gridfs/handler-express.js.map +1 -1
  20. package/lib/files/gridfs/handler-fastify.d.ts.map +1 -1
  21. package/lib/files/gridfs/handler-fastify.js +4 -0
  22. package/lib/files/gridfs/handler-fastify.js.map +1 -1
  23. package/lib/files/minio/minio-adapter.d.ts +6 -0
  24. package/lib/files/minio/minio-adapter.d.ts.map +1 -0
  25. package/lib/files/minio/minio-adapter.js +181 -0
  26. package/lib/files/minio/minio-adapter.js.map +1 -0
  27. package/lib/files/minio/minio-webhook.d.ts +2 -0
  28. package/lib/files/minio/minio-webhook.d.ts.map +1 -0
  29. package/lib/files/minio/minio-webhook.js +33 -0
  30. package/lib/files/minio/minio-webhook.js.map +1 -0
  31. package/lib/filters/strict-equal.js +18 -0
  32. package/lib/filters/strict-equal.js.map +1 -1
  33. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts +9 -0
  34. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts.map +1 -0
  35. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.js +17 -0
  36. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.js.map +1 -0
  37. package/lib/payment/cryptopay/middleware.d.ts +2 -0
  38. package/lib/payment/cryptopay/middleware.d.ts.map +1 -0
  39. package/lib/payment/cryptopay/middleware.js +75 -0
  40. package/lib/payment/cryptopay/middleware.js.map +1 -0
  41. package/lib/payment/cryptopay/module/configureCryptopayModule.d.ts +25 -0
  42. package/lib/payment/cryptopay/module/configureCryptopayModule.d.ts.map +1 -0
  43. package/lib/payment/cryptopay/module/configureCryptopayModule.js +75 -0
  44. package/lib/payment/cryptopay/module/configureCryptopayModule.js.map +1 -0
  45. package/lib/payment/datatrans-v2/middleware.d.ts +2 -0
  46. package/lib/payment/datatrans-v2/middleware.d.ts.map +1 -0
  47. package/lib/payment/datatrans-v2/middleware.js +68 -0
  48. package/lib/payment/datatrans-v2/middleware.js.map +1 -0
  49. package/lib/payment/payrexx/middleware.d.ts +2 -0
  50. package/lib/payment/payrexx/middleware.d.ts.map +1 -0
  51. package/lib/payment/payrexx/middleware.js +86 -0
  52. package/lib/payment/payrexx/middleware.js.map +1 -0
  53. package/lib/payment/postfinance-checkout/middleware.d.ts +2 -0
  54. package/lib/payment/postfinance-checkout/middleware.d.ts.map +1 -0
  55. package/lib/payment/postfinance-checkout/middleware.js +38 -0
  56. package/lib/payment/postfinance-checkout/middleware.js.map +1 -0
  57. package/lib/payment/saferpay/middleware.d.ts +2 -0
  58. package/lib/payment/saferpay/middleware.d.ts.map +1 -0
  59. package/lib/payment/saferpay/middleware.js +57 -0
  60. package/lib/payment/saferpay/middleware.js.map +1 -0
  61. package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.d.ts +10 -0
  62. package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.d.ts.map +1 -0
  63. package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.js +24 -0
  64. package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.js.map +1 -0
  65. package/lib/payment/stripe/middleware.d.ts +6 -0
  66. package/lib/payment/stripe/middleware.d.ts.map +1 -0
  67. package/lib/payment/stripe/middleware.js +114 -0
  68. package/lib/payment/stripe/middleware.js.map +1 -0
  69. package/lib/plugins-index.d.ts +48 -0
  70. package/lib/plugins-index.d.ts.map +1 -0
  71. package/lib/plugins-index.js +107 -0
  72. package/lib/plugins-index.js.map +1 -0
  73. package/lib/worker/heartbeat.js +2 -8
  74. package/lib/worker/heartbeat.js.map +1 -1
  75. package/package.json +22 -22
  76. package/src/files/gridfs/handler-express.ts +4 -0
  77. package/src/files/gridfs/handler-fastify.ts +3 -0
  78. package/src/filters/strict-equal.ts +21 -0
  79. package/src/worker/heartbeat.ts +2 -9
  80. package/lib/payment/cryptopay/de.d.ts +0 -2
  81. package/lib/payment/cryptopay/de.d.ts.map +0 -1
  82. package/lib/payment/cryptopay/de.js +0 -10
  83. package/lib/payment/cryptopay/de.js.map +0 -1
  84. package/lib/payment/cryptopay/derive-btc-address.test copy.d.ts +0 -2
  85. package/lib/payment/cryptopay/derive-btc-address.test copy.d.ts.map +0 -1
  86. package/lib/payment/cryptopay/derive-btc-address.test copy.js +0 -10
  87. package/lib/payment/cryptopay/derive-btc-address.test copy.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/plugins",
3
- "version": "4.0.0-rc.2",
3
+ "version": "4.0.0-rc.3",
4
4
  "main": "lib/plugins-index.js",
5
5
  "types": "lib/plugins-index.d.ts",
6
6
  "exports": {
@@ -34,24 +34,24 @@
34
34
  },
35
35
  "homepage": "https://github.com/unchainedshop/unchained#readme",
36
36
  "dependencies": {
37
- "@unchainedshop/api": "^4.0.0-rc.2",
38
- "@unchainedshop/core-delivery": "^4.0.0-rc.2",
39
- "@unchainedshop/core-enrollments": "^4.0.0-rc.2",
40
- "@unchainedshop/core-orders": "^4.0.0-rc.2",
41
- "@unchainedshop/core-payment": "^4.0.0-rc.2",
42
- "@unchainedshop/core-products": "^4.0.0-rc.2",
43
- "@unchainedshop/core-warehousing": "^4.0.0-rc.2",
44
- "@unchainedshop/core-worker": "^4.0.0-rc.2",
45
- "@unchainedshop/events": "^4.0.0-rc.2",
46
- "@unchainedshop/file-upload": "^4.0.0-rc.2",
47
- "@unchainedshop/logger": "^4.0.0-rc.2",
48
- "@unchainedshop/utils": "^4.0.0-rc.2",
37
+ "@unchainedshop/api": "^4.0.0-rc.3",
38
+ "@unchainedshop/core-delivery": "^4.0.0-rc.3",
39
+ "@unchainedshop/core-enrollments": "^4.0.0-rc.3",
40
+ "@unchainedshop/core-orders": "^4.0.0-rc.3",
41
+ "@unchainedshop/core-payment": "^4.0.0-rc.3",
42
+ "@unchainedshop/core-products": "^4.0.0-rc.3",
43
+ "@unchainedshop/core-warehousing": "^4.0.0-rc.3",
44
+ "@unchainedshop/core-worker": "^4.0.0-rc.3",
45
+ "@unchainedshop/events": "^4.0.0-rc.3",
46
+ "@unchainedshop/file-upload": "^4.0.0-rc.3",
47
+ "@unchainedshop/logger": "^4.0.0-rc.3",
48
+ "@unchainedshop/utils": "^4.0.0-rc.3",
49
49
  "event-iterator": "^2.0.0",
50
50
  "JSONStream": "^1.3.5"
51
51
  },
52
52
  "peerDependencies": {
53
- "@breejs/later": "^4.2.0",
54
53
  "@aws-sdk/client-eventbridge": ">= 3.714 < 4",
54
+ "@breejs/later": "^4.2.0",
55
55
  "@paypal/checkout-server-sdk": "1.x",
56
56
  "@redis/client": ">= 1 < 6",
57
57
  "@scure/bip32": ">= 1.7 < 2",
@@ -128,23 +128,23 @@
128
128
  "devDependencies": {
129
129
  "@breejs/later": "^4.2.0",
130
130
  "@paypal/checkout-server-sdk": "^1.0.3",
131
- "@redis/client": "^5.0.1",
131
+ "@redis/client": "^5.5.6",
132
132
  "@scure/bip32": "^1.7.0",
133
- "@scure/btc-signer": "^1.8.0",
133
+ "@scure/btc-signer": "^1.8.1",
134
134
  "@types/breejs__later": "^4.1.5",
135
- "@types/express": "^5.0.1",
136
- "@types/node": "^22.15.3",
135
+ "@types/express": "^5.0.3",
136
+ "@types/node": "^24.0.4",
137
137
  "expiry-map": "^2.0.0",
138
138
  "express": "^5.1.0",
139
- "fastify": "^5.3.2",
139
+ "fastify": "^5.4.0",
140
140
  "mime-types": "^3.0.1",
141
141
  "minio": "^8.0.5",
142
- "nodemailer": "^7.0.2",
142
+ "nodemailer": "^7.0.3",
143
143
  "open": "^10.1.2",
144
144
  "p-memoize": "^7.1.1",
145
145
  "postfinancecheckout": "^4.7.0",
146
- "stripe": "^18.1.0",
147
- "tsx": "^4.19.4",
146
+ "stripe": "^18.2.1",
147
+ "tsx": "^4.20.3",
148
148
  "typescript": "^5.8.3",
149
149
  "web-push": "^3.6.7",
150
150
  "xml-js": "^1.6.11"
@@ -98,6 +98,10 @@ const gridfsHandler = async (
98
98
  res.end('Access restricted: Invalid signature.');
99
99
  return;
100
100
  }
101
+ } else if (!fileDocument) {
102
+ res.statusCode = 404;
103
+ res.end();
104
+ return;
101
105
  }
102
106
  if (file?.metadata?.['content-type']) {
103
107
  res.setHeader('Content-Type', file.metadata['content-type']);
@@ -89,6 +89,9 @@ const gridfsHandler: RouteHandlerMethod = async (
89
89
  reply.status(403);
90
90
  return reply.send('Access restricted: Invalid signature.');
91
91
  }
92
+ } else if (!fileDocument) {
93
+ reply.status(404);
94
+ return reply.send();
92
95
  }
93
96
 
94
97
  if (file?.metadata?.['content-type']) {
@@ -12,6 +12,27 @@ 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
+
15
36
  transformProductSelector: async (lastSelector, options) => {
16
37
  const { key, value } = options || {};
17
38
 
@@ -1,12 +1,5 @@
1
1
  import { IWorkerAdapter, WorkerAdapter, WorkerDirector } from '@unchainedshop/core';
2
-
3
- const wait = async (time: number) => {
4
- return new Promise((resolve) => {
5
- setTimeout(() => {
6
- resolve(true);
7
- }, time);
8
- });
9
- };
2
+ import { setTimeout } from 'node:timers/promises';
10
3
 
11
4
  interface Arg {
12
5
  wait?: number;
@@ -26,7 +19,7 @@ const Heartbeat: IWorkerAdapter<Arg, Result> = {
26
19
 
27
20
  doWork: async (input: Arg): Promise<{ success: boolean; result: Result }> => {
28
21
  if (input?.wait) {
29
- await wait(input.wait);
22
+ await setTimeout(input.wait);
30
23
  }
31
24
  if (input?.fails) {
32
25
  return {
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=de.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/de.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- import { describe, it } from 'node:test';
2
- import assert from 'node:assert';
3
- import deriveBtcAddress from './derive-btc-address.js';
4
- describe('BTC Address Derivation', () => {
5
- it('returns a deterministic BIP44 child address', () => {
6
- assert.equal(deriveBtcAddress('zpub6qpRm6gMdkrXvVKw7qgayHnqJGJkpE4rnYQdyJfZW87ed4Fk6HjVaThN12hv2rrL3EzfvvBW6ZpbMEe5UxZYEjhgeMigyvAbS5LiXPkKrys', 1), 'bc1qspcam3ntdpvhgz4vnxfdhas6qr8hf8tjfaz5p4');
7
- assert.equal(deriveBtcAddress('zpub6qpRm6gMdkrXvVKw7qgayHnqJGJkpE4rnYQdyJfZW87ed4Fk6HjVaThN12hv2rrL3EzfvvBW6ZpbMEe5UxZYEjhgeMigyvAbS5LiXPkKrys', 2), 'bc1qd0a7znq3pz3sc4armthddkyam57ey7qjc4v6vn');
8
- });
9
- });
10
- //# sourceMappingURL=de.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"de.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/de.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AAEvD,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,KAAK,CACV,gBAAgB,CACd,iHAAiH,EACjH,CAAC,CACF,EACD,4CAA4C,CAC7C,CAAC;QACF,MAAM,CAAC,KAAK,CACV,gBAAgB,CACd,iHAAiH,EACjH,CAAC,CACF,EACD,4CAA4C,CAC7C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=derive-btc-address.test%20copy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derive-btc-address.test copy.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-btc-address.test copy.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- import { describe, it } from 'node:test';
2
- import assert from 'node:assert';
3
- import deriveBtcAddress from './derive-btc-address.js';
4
- describe('BTC Address Derivation', () => {
5
- it('returns a deterministic BIP44 child address', () => {
6
- assert.equal(deriveBtcAddress('zpub6qpRm6gMdkrXvVKw7qgayHnqJGJkpE4rnYQdyJfZW87ed4Fk6HjVaThN12hv2rrL3EzfvvBW6ZpbMEe5UxZYEjhgeMigyvAbS5LiXPkKrys', 1), 'bc1qspcam3ntdpvhgz4vnxfdhas6qr8hf8tjfaz5p4');
7
- assert.equal(deriveBtcAddress('zpub6qpRm6gMdkrXvVKw7qgayHnqJGJkpE4rnYQdyJfZW87ed4Fk6HjVaThN12hv2rrL3EzfvvBW6ZpbMEe5UxZYEjhgeMigyvAbS5LiXPkKrys', 2), 'bc1qd0a7znq3pz3sc4armthddkyam57ey7qjc4v6vn');
8
- });
9
- });
10
- //# sourceMappingURL=derive-btc-address.test%20copy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derive-btc-address.test copy.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-btc-address.test copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AAEvD,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,KAAK,CACV,gBAAgB,CACd,iHAAiH,EACjH,CAAC,CACF,EACD,4CAA4C,CAC7C,CAAC;QACF,MAAM,CAAC,KAAK,CACV,gBAAgB,CACd,iHAAiH,EACjH,CAAC,CACF,EACD,4CAA4C,CAC7C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}