@unchainedshop/plugins 3.0.0-rc9 → 3.0.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/lib/files/gridfs/{gridfs-adapter.d.ts → adapter.d.ts} +2 -4
- package/lib/files/gridfs/adapter.d.ts.map +1 -0
- package/lib/files/gridfs/{gridfs-adapter.js → adapter.js} +1 -1
- package/lib/files/gridfs/adapter.js.map +1 -0
- package/lib/files/gridfs/handler-express.d.ts +10 -0
- package/lib/files/gridfs/handler-express.d.ts.map +1 -0
- package/lib/files/gridfs/{gridfs-webhook.js → handler-express.js} +3 -2
- package/lib/files/gridfs/handler-express.js.map +1 -0
- package/lib/files/gridfs/handler-fastify.d.ts +4 -0
- package/lib/files/gridfs/handler-fastify.d.ts.map +1 -0
- package/lib/files/gridfs/handler-fastify.js +91 -0
- package/lib/files/gridfs/handler-fastify.js.map +1 -0
- package/lib/files/gridfs/index.d.ts +4 -10
- package/lib/files/gridfs/index.d.ts.map +1 -1
- package/lib/files/gridfs/index.js +3 -27
- package/lib/files/gridfs/index.js.map +1 -1
- package/lib/files/gridfs/module.d.ts +26 -0
- package/lib/files/gridfs/module.d.ts.map +1 -0
- package/lib/files/gridfs/module.js +33 -0
- package/lib/files/gridfs/module.js.map +1 -0
- package/lib/files/minio/handler-express.d.ts +3 -0
- package/lib/files/minio/handler-express.d.ts.map +1 -0
- package/lib/files/minio/{minio-webhook.js → handler-express.js} +3 -2
- package/lib/files/minio/handler-express.js.map +1 -0
- package/lib/files/minio/handler-fastify.d.ts +4 -0
- package/lib/files/minio/handler-fastify.d.ts.map +1 -0
- package/lib/files/minio/handler-fastify.js +34 -0
- package/lib/files/minio/handler-fastify.js.map +1 -0
- package/lib/files/minio/{minio-adapter.d.ts → index.d.ts} +1 -1
- package/lib/files/minio/index.d.ts.map +1 -0
- package/lib/files/minio/{minio-adapter.js → index.js} +1 -1
- package/lib/files/minio/index.js.map +1 -0
- package/lib/filters/local-search.d.ts.map +1 -1
- package/lib/filters/local-search.js +3 -23
- package/lib/filters/local-search.js.map +1 -1
- package/lib/payment/apple-iap/adapter.d.ts +1 -1
- package/lib/payment/apple-iap/adapter.d.ts.map +1 -1
- package/lib/payment/apple-iap/adapter.js +5 -155
- package/lib/payment/apple-iap/adapter.js.map +1 -1
- package/lib/payment/apple-iap/fix-periods.d.ts +8 -0
- package/lib/payment/apple-iap/fix-periods.d.ts.map +1 -0
- package/lib/payment/apple-iap/fix-periods.js +22 -0
- package/lib/payment/apple-iap/fix-periods.js.map +1 -0
- package/lib/payment/apple-iap/handler-express.d.ts +3 -0
- package/lib/payment/apple-iap/handler-express.d.ts.map +1 -0
- package/lib/payment/apple-iap/handler-express.js +110 -0
- package/lib/payment/apple-iap/handler-express.js.map +1 -0
- package/lib/payment/apple-iap/handler-fastify.d.ts +4 -0
- package/lib/payment/apple-iap/handler-fastify.d.ts.map +1 -0
- package/lib/payment/apple-iap/handler-fastify.js +104 -0
- package/lib/payment/apple-iap/handler-fastify.js.map +1 -0
- package/lib/payment/apple-iap/index.d.ts +3 -1
- package/lib/payment/apple-iap/index.d.ts.map +1 -1
- package/lib/payment/apple-iap/index.js +2 -1
- package/lib/payment/apple-iap/index.js.map +1 -1
- package/lib/payment/apple-iap/module.d.ts +22 -0
- package/lib/payment/apple-iap/module.d.ts.map +1 -0
- package/lib/payment/apple-iap/{module/configureAppleTransactionsModule.js → module.js} +7 -2
- package/lib/payment/apple-iap/module.js.map +1 -0
- package/lib/payment/apple-iap/verify-receipt.d.ts +5 -0
- package/lib/payment/apple-iap/verify-receipt.d.ts.map +1 -0
- package/lib/payment/apple-iap/verify-receipt.js +26 -0
- package/lib/payment/apple-iap/verify-receipt.js.map +1 -0
- package/lib/payment/cryptopay/handler-express.d.ts +3 -0
- package/lib/payment/cryptopay/handler-express.d.ts.map +1 -0
- package/lib/payment/cryptopay/{middleware.js → handler-express.js} +3 -2
- package/lib/payment/cryptopay/{middleware.js.map → handler-express.js.map} +1 -1
- package/lib/payment/cryptopay/handler-fastify.d.ts +4 -0
- package/lib/payment/cryptopay/handler-fastify.d.ts.map +1 -0
- package/lib/payment/cryptopay/handler-fastify.js +69 -0
- package/lib/payment/cryptopay/handler-fastify.js.map +1 -0
- package/lib/payment/cryptopay/index.d.ts +4 -4
- package/lib/payment/cryptopay/index.d.ts.map +1 -1
- package/lib/payment/cryptopay/index.js +3 -4
- package/lib/payment/cryptopay/index.js.map +1 -1
- package/lib/payment/cryptopay/module.d.ts +54 -0
- package/lib/payment/cryptopay/module.d.ts.map +1 -0
- package/lib/payment/cryptopay/{module/configureCryptopayModule.js → module.js} +8 -3
- package/lib/payment/cryptopay/module.js.map +1 -0
- package/lib/payment/cryptopay/plugin.js +1 -1
- package/lib/payment/cryptopay/plugin.js.map +1 -1
- package/lib/payment/datatrans-v2/{middleware.d.ts → handler-express.d.ts} +1 -1
- package/lib/payment/datatrans-v2/handler-express.d.ts.map +1 -0
- package/lib/payment/datatrans-v2/{middleware.js → handler-express.js} +2 -2
- package/lib/payment/datatrans-v2/handler-express.js.map +1 -0
- package/lib/payment/datatrans-v2/handler-fastify.d.ts +3 -0
- package/lib/payment/datatrans-v2/handler-fastify.d.ts.map +1 -0
- package/lib/payment/datatrans-v2/handler-fastify.js +66 -0
- package/lib/payment/datatrans-v2/handler-fastify.js.map +1 -0
- package/lib/payment/datatrans-v2/index.d.ts +1 -1
- package/lib/payment/datatrans-v2/index.d.ts.map +1 -1
- package/lib/payment/datatrans-v2/index.js +0 -1
- package/lib/payment/datatrans-v2/index.js.map +1 -1
- package/lib/payment/payrexx/{middleware.d.ts → handler-express.d.ts} +1 -1
- package/lib/payment/payrexx/handler-express.d.ts.map +1 -0
- package/lib/payment/payrexx/{middleware.js → handler-express.js} +2 -2
- package/lib/payment/payrexx/handler-express.js.map +1 -0
- package/lib/payment/payrexx/handler-fastify.d.ts +3 -0
- package/lib/payment/payrexx/handler-fastify.d.ts.map +1 -0
- package/lib/payment/payrexx/handler-fastify.js +87 -0
- package/lib/payment/payrexx/handler-fastify.js.map +1 -0
- package/lib/payment/payrexx/index.d.ts +1 -1
- package/lib/payment/payrexx/index.d.ts.map +1 -1
- package/lib/payment/payrexx/index.js +0 -1
- package/lib/payment/payrexx/index.js.map +1 -1
- package/lib/payment/postfinance-checkout/{middleware.d.ts → handler-express.d.ts} +1 -1
- package/lib/payment/postfinance-checkout/handler-express.d.ts.map +1 -0
- package/lib/payment/postfinance-checkout/{middleware.js → handler-express.js} +1 -1
- package/lib/payment/postfinance-checkout/handler-express.js.map +1 -0
- package/lib/payment/postfinance-checkout/handler-fastify.d.ts +3 -0
- package/lib/payment/postfinance-checkout/handler-fastify.d.ts.map +1 -0
- package/lib/payment/postfinance-checkout/handler-fastify.js +39 -0
- package/lib/payment/postfinance-checkout/handler-fastify.js.map +1 -0
- package/lib/payment/postfinance-checkout/index.d.ts +1 -1
- package/lib/payment/postfinance-checkout/index.d.ts.map +1 -1
- package/lib/payment/postfinance-checkout/index.js +0 -1
- package/lib/payment/postfinance-checkout/index.js.map +1 -1
- package/lib/payment/saferpay/adapter.d.ts +0 -1
- package/lib/payment/saferpay/adapter.d.ts.map +1 -1
- package/lib/payment/saferpay/adapter.js +0 -1
- package/lib/payment/saferpay/adapter.js.map +1 -1
- package/lib/payment/saferpay/{middleware.d.ts → handler-express.d.ts} +1 -1
- package/lib/payment/saferpay/handler-express.d.ts.map +1 -0
- package/lib/payment/saferpay/{middleware.js → handler-express.js} +2 -2
- package/lib/payment/saferpay/handler-express.js.map +1 -0
- package/lib/payment/saferpay/handler-fastify.d.ts +3 -0
- package/lib/payment/saferpay/handler-fastify.d.ts.map +1 -0
- package/lib/payment/saferpay/handler-fastify.js +56 -0
- package/lib/payment/saferpay/handler-fastify.js.map +1 -0
- package/lib/payment/saferpay/index.d.ts +3 -2
- package/lib/payment/saferpay/index.d.ts.map +1 -1
- package/lib/payment/saferpay/index.js +2 -2
- package/lib/payment/saferpay/index.js.map +1 -1
- package/lib/payment/saferpay/module.d.ts +24 -0
- package/lib/payment/saferpay/module.d.ts.map +1 -0
- package/lib/payment/saferpay/{module/configureSaferpayTransactionsModule.js → module.js} +8 -3
- package/lib/payment/saferpay/module.js.map +1 -0
- package/lib/payment/stripe/{middleware.d.ts → handler-express.d.ts} +1 -1
- package/lib/payment/stripe/handler-express.d.ts.map +1 -0
- package/lib/payment/stripe/{middleware.js → handler-express.js} +2 -2
- package/lib/payment/stripe/handler-express.js.map +1 -0
- package/lib/payment/stripe/handler-fastify.d.ts +7 -0
- package/lib/payment/stripe/handler-fastify.d.ts.map +1 -0
- package/lib/payment/stripe/handler-fastify.js +112 -0
- package/lib/payment/stripe/handler-fastify.js.map +1 -0
- package/lib/payment/stripe/index.d.ts +1 -1
- package/lib/payment/stripe/index.d.ts.map +1 -1
- package/lib/payment/stripe/index.js +0 -1
- package/lib/payment/stripe/index.js.map +1 -1
- package/lib/presets/all-express.d.ts +7 -0
- package/lib/presets/all-express.d.ts.map +1 -0
- package/lib/presets/all-express.js +27 -0
- package/lib/presets/all-express.js.map +1 -0
- package/lib/presets/all-fastify.d.ts +7 -0
- package/lib/presets/all-fastify.d.ts.map +1 -0
- package/lib/presets/all-fastify.js +64 -0
- package/lib/presets/all-fastify.js.map +1 -0
- package/lib/presets/all.d.ts +69 -0
- package/lib/presets/all.d.ts.map +1 -0
- package/lib/presets/all.js +30 -0
- package/lib/presets/all.js.map +1 -0
- package/lib/presets/base-express.js +2 -2
- package/lib/presets/base-express.js.map +1 -1
- package/lib/presets/base-fastify.d.ts +4 -0
- package/lib/presets/base-fastify.d.ts.map +1 -0
- package/lib/presets/base-fastify.js +18 -0
- package/lib/presets/base-fastify.js.map +1 -0
- package/lib/presets/{base-modules.d.ts → base.d.ts} +3 -7
- package/lib/presets/base.d.ts.map +1 -0
- package/lib/presets/{base-modules.js → base.js} +3 -9
- package/lib/presets/base.js.map +1 -0
- package/lib/presets/crypto-express.js +2 -2
- package/lib/presets/crypto-express.js.map +1 -1
- package/lib/presets/crypto-fastify.d.ts +4 -0
- package/lib/presets/crypto-fastify.d.ts.map +1 -0
- package/lib/presets/crypto-fastify.js +12 -0
- package/lib/presets/crypto-fastify.js.map +1 -0
- package/lib/presets/crypto.d.ts +8 -0
- package/lib/presets/crypto.d.ts.map +1 -0
- package/lib/presets/crypto.js +9 -0
- package/lib/presets/crypto.js.map +1 -0
- package/lib/pricing/product-discount.js +2 -0
- package/lib/pricing/product-discount.js.map +1 -1
- package/lib/warehousing/eth-minter.js +2 -2
- package/lib/warehousing/eth-minter.js.map +1 -1
- package/lib/worker/zombie-killer.js +4 -1
- package/lib/worker/zombie-killer.js.map +1 -1
- package/package.json +41 -37
- package/src/files/gridfs/{gridfs-adapter.ts → adapter.ts} +1 -3
- package/src/files/gridfs/{gridfs-webhook.ts → handler-express.ts} +5 -3
- package/src/files/gridfs/handler-fastify.ts +122 -0
- package/src/files/gridfs/index.ts +4 -29
- package/src/files/gridfs/module.ts +39 -0
- package/src/files/minio/{minio-webhook.ts → handler-express.ts} +3 -1
- package/src/files/minio/handler-fastify.ts +44 -0
- package/src/filters/local-search.ts +3 -25
- package/src/payment/apple-iap/adapter.ts +6 -193
- package/src/payment/apple-iap/fix-periods.ts +34 -0
- package/src/payment/apple-iap/handler-express.ts +134 -0
- package/src/payment/apple-iap/handler-fastify.ts +137 -0
- package/src/payment/apple-iap/index.ts +5 -1
- package/src/payment/apple-iap/module.ts +29 -0
- package/src/payment/apple-iap/verify-receipt.ts +27 -0
- package/src/payment/cryptopay/{middleware.ts → handler-express.ts} +5 -5
- package/src/payment/cryptopay/handler-fastify.ts +89 -0
- package/src/payment/cryptopay/index.ts +5 -4
- package/src/payment/cryptopay/{module/configureCryptopayModule.ts → module.ts} +38 -39
- package/src/payment/cryptopay/plugin.ts +3 -3
- package/src/payment/datatrans-v2/{middleware.ts → handler-express.ts} +1 -1
- package/src/payment/datatrans-v2/handler-fastify.ts +88 -0
- package/src/payment/datatrans-v2/index.ts +0 -2
- package/src/payment/payrexx/{middleware.ts → handler-express.ts} +1 -1
- package/src/payment/payrexx/handler-fastify.ts +105 -0
- package/src/payment/payrexx/index.ts +0 -2
- package/src/payment/postfinance-checkout/handler-fastify.ts +52 -0
- package/src/payment/postfinance-checkout/index.ts +0 -2
- package/src/payment/saferpay/adapter.ts +2 -4
- package/src/payment/saferpay/{middleware.ts → handler-express.ts} +3 -3
- package/src/payment/saferpay/handler-fastify.ts +75 -0
- package/src/payment/saferpay/index.ts +5 -2
- package/src/payment/saferpay/{module/configureSaferpayTransactionsModule.ts → module.ts} +11 -3
- package/src/payment/stripe/{middleware.ts → handler-express.ts} +1 -1
- package/src/payment/stripe/handler-fastify.ts +139 -0
- package/src/payment/stripe/index.ts +0 -2
- package/src/presets/all-express.ts +51 -0
- package/src/presets/all-fastify.ts +87 -0
- package/src/presets/all.ts +35 -0
- package/src/presets/base-express.ts +2 -2
- package/src/presets/base-fastify.ts +20 -0
- package/src/presets/{base-modules.ts → base.ts} +3 -17
- package/src/presets/crypto-express.ts +2 -2
- package/src/presets/crypto-fastify.ts +15 -0
- package/src/presets/crypto.ts +11 -0
- package/src/pricing/product-discount.ts +2 -0
- package/src/warehousing/eth-minter.ts +2 -2
- package/src/worker/zombie-killer.ts +4 -4
- package/lib/files/gridfs/gridfs-adapter.d.ts.map +0 -1
- package/lib/files/gridfs/gridfs-adapter.js.map +0 -1
- package/lib/files/gridfs/gridfs-webhook.d.ts +0 -11
- package/lib/files/gridfs/gridfs-webhook.d.ts.map +0 -1
- package/lib/files/gridfs/gridfs-webhook.js.map +0 -1
- package/lib/files/minio/minio-adapter.d.ts.map +0 -1
- package/lib/files/minio/minio-adapter.js.map +0 -1
- package/lib/files/minio/minio-webhook.d.ts +0 -2
- package/lib/files/minio/minio-webhook.d.ts.map +0 -1
- package/lib/files/minio/minio-webhook.js.map +0 -1
- package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts +0 -9
- package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts.map +0 -1
- package/lib/payment/apple-iap/module/configureAppleTransactionsModule.js.map +0 -1
- package/lib/payment/cryptopay/middleware.d.ts +0 -2
- package/lib/payment/cryptopay/middleware.d.ts.map +0 -1
- package/lib/payment/cryptopay/module/configureCryptopayModule.d.ts +0 -25
- package/lib/payment/cryptopay/module/configureCryptopayModule.d.ts.map +0 -1
- package/lib/payment/cryptopay/module/configureCryptopayModule.js.map +0 -1
- package/lib/payment/datatrans-v2/middleware.d.ts.map +0 -1
- package/lib/payment/datatrans-v2/middleware.js.map +0 -1
- package/lib/payment/payrexx/middleware.d.ts.map +0 -1
- package/lib/payment/payrexx/middleware.js.map +0 -1
- package/lib/payment/postfinance-checkout/middleware.d.ts.map +0 -1
- package/lib/payment/postfinance-checkout/middleware.js.map +0 -1
- package/lib/payment/saferpay/middleware.d.ts.map +0 -1
- package/lib/payment/saferpay/middleware.js.map +0 -1
- package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.d.ts +0 -10
- package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.d.ts.map +0 -1
- package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.js.map +0 -1
- package/lib/payment/stripe/middleware.d.ts.map +0 -1
- package/lib/payment/stripe/middleware.js.map +0 -1
- package/lib/plugins-index.d.ts +0 -18
- package/lib/plugins-index.d.ts.map +0 -1
- package/lib/plugins-index.js +0 -52
- package/lib/plugins-index.js.map +0 -1
- package/lib/presets/base-modules.d.ts.map +0 -1
- package/lib/presets/base-modules.js.map +0 -1
- package/lib/presets/crypto-modules.d.ts +0 -11
- package/lib/presets/crypto-modules.d.ts.map +0 -1
- package/lib/presets/crypto-modules.js +0 -14
- package/lib/presets/crypto-modules.js.map +0 -1
- package/src/payment/apple-iap/module/configureAppleTransactionsModule.ts +0 -25
- package/src/plugins-index.ts +0 -90
- package/src/presets/crypto-modules.ts +0 -23
- /package/src/files/minio/{minio-adapter.ts → index.ts} +0 -0
- /package/src/payment/postfinance-checkout/{middleware.ts → handler-express.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eth-minter.js","sourceRoot":"","sources":["../../src/warehousing/eth-minter.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,MAAM,EAAE,mBAAmB,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"eth-minter.js","sourceRoot":"","sources":["../../src/warehousing/eth-minter.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,10 @@ export const ZombieKillerWorker = {
|
|
|
16
16
|
excludedFilterIds: filterIds,
|
|
17
17
|
});
|
|
18
18
|
// Remove unreferenced assortment entities
|
|
19
|
-
const assortments = await modules.assortments.findAssortments({
|
|
19
|
+
const assortments = await modules.assortments.findAssortments({
|
|
20
|
+
includeInactive: true,
|
|
21
|
+
includeLeaves: true,
|
|
22
|
+
});
|
|
20
23
|
const assortmentIds = assortments.map((a) => a._id);
|
|
21
24
|
const deletedAssortmentTextsCount = await modules.assortments.texts.deleteMany({
|
|
22
25
|
excludedAssortmentIds: assortmentIds,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zombie-killer.js","sourceRoot":"","sources":["../../src/worker/zombie-killer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEpF,MAAM,CAAC,MAAM,kBAAkB,GAW3B;IACF,GAAG,aAAa;IAEhB,GAAG,EAAE,4CAA4C;IACjD,KAAK,EAAE,eAAe;IACtB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,eAAe;IAErB,MAAM,EAAE,KAAK,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,sBAAsB,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE;QACzF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC;YAEpB,sCAAsC;YACtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAC/C,EAAE,eAAe,EAAE,IAAI,EAAE,EACzB,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAC3B,CAAC;YACF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,uBAAuB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;gBACrE,iBAAiB,EAAE,SAAS;aAC7B,CAAC,CAAC;YAEH,0CAA0C;YAC1C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"zombie-killer.js","sourceRoot":"","sources":["../../src/worker/zombie-killer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEpF,MAAM,CAAC,MAAM,kBAAkB,GAW3B;IACF,GAAG,aAAa;IAEhB,GAAG,EAAE,4CAA4C;IACjD,KAAK,EAAE,eAAe;IACtB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,eAAe;IAErB,MAAM,EAAE,KAAK,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,sBAAsB,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE;QACzF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC;YAEpB,sCAAsC;YACtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAC/C,EAAE,eAAe,EAAE,IAAI,EAAE,EACzB,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAC3B,CAAC;YACF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,uBAAuB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;gBACrE,iBAAiB,EAAE,SAAS;aAC7B,CAAC,CAAC;YAEH,0CAA0C;YAC1C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC;gBAC5D,eAAe,EAAE,IAAI;gBACrB,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpD,MAAM,2BAA2B,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC7E,qBAAqB,EAAE,aAAa;aACrC,CAAC,CAAC;YACH,MAAM,2BAA2B,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACnF,qBAAqB,EAAE,aAAa;aACrC,CAAC,CAAC;YAEH,uCAAuC;YACvC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;gBACvE,kBAAkB,EAAE,UAAU;aAC/B,CAAC,CAAC;YACH,MAAM,6BAA6B,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBACvF,kBAAkB,EAAE,UAAU;aAC/B,CAAC,CAAC;YACH,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBAC7E,kBAAkB,EAAE,UAAU;aAC/B,CAAC,CAAC;YAEH,4BAA4B;YAC5B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CACjE,EAAE,EACF,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAC/B,CAAC;YACF,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,oBAAoB,CAC1E,EAAE,EACF,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAC/B,CAAC;YAEF,MAAM,gBAAgB,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACtF,MAAM,kBAAkB,GAAG,CACzB,MAAM,OAAO,CAAC,KAAK,CAAC,SAAS,CAC3B,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC,EAAE,EAAE,EACxD,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAC3B,CACF,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAEpB,MAAM,eAAe,GACnB,kBAAkB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC,CAAC,IAAI,EAAE,CAAC;YAEX,+CAA+C;YAC/C,MAAM,eAAe,GAAG,MAAM,MAAM,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;gBAC1D,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,sBAAsB,CAAC,EAAE;aACtF,CAAC,CAAC;YACH,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,MAAM,iBAAiB,GACrB,eAAe,CAAC,MAAM,GAAG,CAAC;gBACxB,CAAC,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;oBAC/B,OAAO,EAAE,eAAe;iBACzB,CAAC;gBACJ,CAAC,CAAC,CAAC,CAAC;YAER,sBAAsB;YACtB,MAAM,MAAM,GAAG;gBACb,uBAAuB;gBACvB,wBAAwB;gBACxB,wBAAwB;gBACxB,6BAA6B;gBAC7B,2BAA2B;gBAC3B,2BAA2B;gBAC3B,iBAAiB;aAClB,CAAC;YAEF,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,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,eAAe,kBAAkB,CAAC;AAElC,cAAc,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/plugins",
|
|
3
|
-
"version": "3.0.0
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"main": "lib/plugins-index.js",
|
|
5
5
|
"types": "lib/plugins-index.d.ts",
|
|
6
6
|
"exports": {
|
|
7
|
-
".": "./lib/plugins-index.js",
|
|
8
7
|
"./*": "./lib/*"
|
|
9
8
|
},
|
|
10
9
|
"type": "module",
|
|
@@ -36,41 +35,42 @@
|
|
|
36
35
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
37
36
|
"dependencies": {
|
|
38
37
|
"@breejs/later": "^4.2.0",
|
|
39
|
-
"@unchainedshop/api": "^3.0.0
|
|
40
|
-
"@unchainedshop/core-delivery": "^3.0.0
|
|
41
|
-
"@unchainedshop/core-enrollments": "^3.0.0
|
|
42
|
-
"@unchainedshop/core-orders": "^3.0.0
|
|
43
|
-
"@unchainedshop/core-payment": "^3.0.0
|
|
44
|
-
"@unchainedshop/core-products": "^3.0.0
|
|
45
|
-
"@unchainedshop/core-warehousing": "^3.0.0
|
|
46
|
-
"@unchainedshop/core-worker": "^3.0.0
|
|
47
|
-
"@unchainedshop/events": "^3.0.0
|
|
48
|
-
"@unchainedshop/file-upload": "^3.0.0
|
|
49
|
-
"@unchainedshop/logger": "^3.0.0
|
|
50
|
-
"@unchainedshop/utils": "^3.0.0
|
|
38
|
+
"@unchainedshop/api": "^3.0.0",
|
|
39
|
+
"@unchainedshop/core-delivery": "^3.0.0",
|
|
40
|
+
"@unchainedshop/core-enrollments": "^3.0.0",
|
|
41
|
+
"@unchainedshop/core-orders": "^3.0.0",
|
|
42
|
+
"@unchainedshop/core-payment": "^3.0.0",
|
|
43
|
+
"@unchainedshop/core-products": "^3.0.0",
|
|
44
|
+
"@unchainedshop/core-warehousing": "^3.0.0",
|
|
45
|
+
"@unchainedshop/core-worker": "^3.0.0",
|
|
46
|
+
"@unchainedshop/events": "^3.0.0",
|
|
47
|
+
"@unchainedshop/file-upload": "^3.0.0",
|
|
48
|
+
"@unchainedshop/logger": "^3.0.0",
|
|
49
|
+
"@unchainedshop/utils": "^3.0.0",
|
|
51
50
|
"event-iterator": "^2.0.0",
|
|
52
51
|
"JSONStream": "^1.3.5"
|
|
53
52
|
},
|
|
54
53
|
"peerDependencies": {
|
|
55
|
-
"@aws-sdk/client-eventbridge": "
|
|
56
|
-
"@paypal/checkout-server-sdk": "
|
|
57
|
-
"@redis/client": "
|
|
58
|
-
"bip32": "
|
|
59
|
-
"bitcoinjs-lib": "
|
|
60
|
-
"ethers": "
|
|
61
|
-
"expiry-map": "
|
|
62
|
-
"express": "
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
54
|
+
"@aws-sdk/client-eventbridge": ">= 3.714 < 4",
|
|
55
|
+
"@paypal/checkout-server-sdk": "1.x",
|
|
56
|
+
"@redis/client": "1.x",
|
|
57
|
+
"bip32": "4.x",
|
|
58
|
+
"bitcoinjs-lib": ">= 6.1 <7",
|
|
59
|
+
"ethers": ">= 6.13 < 7",
|
|
60
|
+
"expiry-map": "2.x",
|
|
61
|
+
"express": "5.x",
|
|
62
|
+
"fastify": ">= 5.2 < 6",
|
|
63
|
+
"mime-types": "2.x",
|
|
64
|
+
"minio": "8.x",
|
|
65
|
+
"nodemailer": ">= 6.9 < 7",
|
|
66
|
+
"open": "10.x",
|
|
67
|
+
"p-memoize": "7.x",
|
|
68
|
+
"postfinancecheckout": ">= 4.5.0",
|
|
69
69
|
"stripe": "^17.4.0",
|
|
70
|
-
"tiny-secp256k1": "
|
|
71
|
-
"twilio": "
|
|
72
|
-
"web-push": "
|
|
73
|
-
"xml-js": "
|
|
70
|
+
"tiny-secp256k1": "2.x",
|
|
71
|
+
"twilio": "5.x",
|
|
72
|
+
"web-push": ">= 3.6 <4",
|
|
73
|
+
"xml-js": ">= 1.6 < 2"
|
|
74
74
|
},
|
|
75
75
|
"peerDependenciesMeta": {
|
|
76
76
|
"@aws-sdk/client-eventbridge": {
|
|
@@ -97,6 +97,9 @@
|
|
|
97
97
|
"express": {
|
|
98
98
|
"optional": true
|
|
99
99
|
},
|
|
100
|
+
"fastify": {
|
|
101
|
+
"optional": true
|
|
102
|
+
},
|
|
100
103
|
"mime-types": {
|
|
101
104
|
"optional": true
|
|
102
105
|
},
|
|
@@ -132,17 +135,18 @@
|
|
|
132
135
|
}
|
|
133
136
|
},
|
|
134
137
|
"devDependencies": {
|
|
135
|
-
"@aws-sdk/client-eventbridge": "^3.
|
|
138
|
+
"@aws-sdk/client-eventbridge": "^3.723.0",
|
|
136
139
|
"@breejs/later": "^4.2.0",
|
|
137
140
|
"@paypal/checkout-server-sdk": "^1.0.3",
|
|
138
141
|
"@redis/client": "^1.6.0",
|
|
139
142
|
"@types/express": "^5.0.0",
|
|
140
|
-
"@types/node": "^22.10.
|
|
143
|
+
"@types/node": "^22.10.5",
|
|
141
144
|
"bip32": "^4.0.0",
|
|
142
145
|
"bitcoinjs-lib": "^6.1.7",
|
|
143
|
-
"ethers": "^6.13.
|
|
146
|
+
"ethers": "^6.13.5",
|
|
144
147
|
"expiry-map": "^2.0.0",
|
|
145
148
|
"express": "^5.0.1",
|
|
149
|
+
"fastify": "^5.2.1",
|
|
146
150
|
"jest": "^29.7.0",
|
|
147
151
|
"mime-types": "^2.1.35",
|
|
148
152
|
"minio": "^8.0.3",
|
|
@@ -153,8 +157,8 @@
|
|
|
153
157
|
"stripe": "^17.5.0",
|
|
154
158
|
"tiny-secp256k1": "^2.2.3",
|
|
155
159
|
"ts-jest": "^29.2.5",
|
|
156
|
-
"twilio": "^5.4.
|
|
157
|
-
"typescript": "^5.7.
|
|
160
|
+
"twilio": "^5.4.1",
|
|
161
|
+
"typescript": "^5.7.3",
|
|
158
162
|
"web-push": "^3.6.7",
|
|
159
163
|
"xml-js": "^1.6.11"
|
|
160
164
|
}
|
|
@@ -26,9 +26,7 @@ const bufferToStream = (buffer: any) => {
|
|
|
26
26
|
|
|
27
27
|
export const GridFSAdapter: IFileAdapter<
|
|
28
28
|
UnchainedCore & {
|
|
29
|
-
modules:
|
|
30
|
-
gridfsFileUploads: GridFSFileUploadsModule;
|
|
31
|
-
};
|
|
29
|
+
modules: GridFSFileUploadsModule;
|
|
32
30
|
}
|
|
33
31
|
> = {
|
|
34
32
|
key: 'shop.unchained.file-upload-plugin.gridfs',
|
|
@@ -3,7 +3,7 @@ import { PassThrough } from 'node:stream';
|
|
|
3
3
|
import { buildHashedFilename } from '@unchainedshop/file-upload';
|
|
4
4
|
import express from 'express';
|
|
5
5
|
import sign from './sign.js';
|
|
6
|
-
import {
|
|
6
|
+
import { GridFSFileUploadsModule } from './module.js';
|
|
7
7
|
import { Context } from '@unchainedshop/api';
|
|
8
8
|
import { createLogger } from '@unchainedshop/logger';
|
|
9
9
|
import { getFileAdapter } from '@unchainedshop/core-files';
|
|
@@ -12,10 +12,10 @@ const { ROOT_URL } = process.env;
|
|
|
12
12
|
|
|
13
13
|
const logger = createLogger('unchained:plugins:gridfs');
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
const gridfsHandler = async (
|
|
16
16
|
req: express.Request & {
|
|
17
17
|
unchainedContext: Context & {
|
|
18
|
-
modules:
|
|
18
|
+
modules: GridFSFileUploadsModule;
|
|
19
19
|
};
|
|
20
20
|
},
|
|
21
21
|
res: express.Response,
|
|
@@ -127,3 +127,5 @@ export const gridfsHandler = async (
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
};
|
|
130
|
+
|
|
131
|
+
export default gridfsHandler;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { pipeline } from 'node:stream/promises';
|
|
2
|
+
import { PassThrough } from 'node:stream';
|
|
3
|
+
import { FastifyRequest, RouteHandlerMethod } from 'fastify';
|
|
4
|
+
import { buildHashedFilename } from '@unchainedshop/file-upload';
|
|
5
|
+
import sign from './sign.js';
|
|
6
|
+
import { GridFSFileUploadsModule } from './module.js';
|
|
7
|
+
import { Context } from '@unchainedshop/api';
|
|
8
|
+
import { createLogger } from '@unchainedshop/logger';
|
|
9
|
+
import { getFileAdapter } from '@unchainedshop/core-files';
|
|
10
|
+
|
|
11
|
+
const logger = createLogger('unchained:plugins:gridfs');
|
|
12
|
+
|
|
13
|
+
const gridfsHandler: RouteHandlerMethod = async (
|
|
14
|
+
req: FastifyRequest & {
|
|
15
|
+
unchainedContext: Context & {
|
|
16
|
+
modules: GridFSFileUploadsModule;
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
reply,
|
|
20
|
+
) => {
|
|
21
|
+
try {
|
|
22
|
+
const { services, modules } = req.unchainedContext;
|
|
23
|
+
const { directoryName, fileName } = req.params as any;
|
|
24
|
+
|
|
25
|
+
/* This is a file upload endpoint, and thus we need to allow CORS.
|
|
26
|
+
else we'd need proxies for all kinds of things for storefronts */
|
|
27
|
+
reply.header('Access-Control-Allow-Methods', 'GET, PUT');
|
|
28
|
+
reply.header('Access-Control-Allow-Headers', 'content-type');
|
|
29
|
+
reply.header('Access-Control-Allow-Origin', '*');
|
|
30
|
+
|
|
31
|
+
if (req.method === 'OPTIONS') {
|
|
32
|
+
reply.status(200);
|
|
33
|
+
return reply.send();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (req.method === 'PUT') {
|
|
37
|
+
const { s: signature, e: expiryTimestamp } = req.query as Record<string, string>;
|
|
38
|
+
const expiryDate = new Date(parseInt(expiryTimestamp as string, 10));
|
|
39
|
+
const fileId = await buildHashedFilename(directoryName, fileName, expiryDate);
|
|
40
|
+
if ((await sign(directoryName, fileId, expiryDate.getTime())) === signature) {
|
|
41
|
+
const file = await modules.files.findFile({ fileId });
|
|
42
|
+
if (file.expires === null) {
|
|
43
|
+
reply.status(400);
|
|
44
|
+
return reply.send('File already linked');
|
|
45
|
+
}
|
|
46
|
+
// If the type is octet-stream, prefer mimetype lookup from the filename
|
|
47
|
+
// Else prefer the content-type header
|
|
48
|
+
const type =
|
|
49
|
+
req.headers['content-type'] === 'application/octet-stream'
|
|
50
|
+
? file.type || (req.headers['content-type'] as string)
|
|
51
|
+
: (req.headers['content-type'] as string) || file.type;
|
|
52
|
+
|
|
53
|
+
const writeStream = await modules.gridfsFileUploads.createWriteStream(
|
|
54
|
+
directoryName,
|
|
55
|
+
fileId,
|
|
56
|
+
fileName,
|
|
57
|
+
{ 'content-type': type },
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
await pipeline(req.raw, new PassThrough(), writeStream);
|
|
61
|
+
|
|
62
|
+
const { length } = writeStream;
|
|
63
|
+
await services.files.linkFile({ fileId, size: length, type });
|
|
64
|
+
|
|
65
|
+
reply.status(200);
|
|
66
|
+
return reply.send();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
reply.status(403);
|
|
70
|
+
return reply.send();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (req.method === 'GET') {
|
|
74
|
+
const fileId = fileName;
|
|
75
|
+
const { s: signature, e: expiryTimestamp } = req.query as Record<string, string>;
|
|
76
|
+
const file = await modules.gridfsFileUploads.getFileInfo(directoryName, fileId);
|
|
77
|
+
const fileDocument = await modules.files.findFile({ fileId });
|
|
78
|
+
if (fileDocument?.meta?.isPrivate) {
|
|
79
|
+
const expiry = parseInt(expiryTimestamp as string, 10);
|
|
80
|
+
if (expiry <= Date.now()) {
|
|
81
|
+
reply.status(403);
|
|
82
|
+
return reply.send('Access restricted: Expired.');
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const fileUploadAdapter = getFileAdapter();
|
|
86
|
+
const signedUrl = await fileUploadAdapter.createDownloadURL(fileDocument, expiry);
|
|
87
|
+
|
|
88
|
+
if (new URL(signedUrl, 'file://').searchParams.get('s') !== signature) {
|
|
89
|
+
reply.status(403);
|
|
90
|
+
return reply.send('Access restricted: Invalid signature.');
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (file?.metadata?.['content-type']) {
|
|
95
|
+
reply.header('content-type', file.metadata['content-type']);
|
|
96
|
+
}
|
|
97
|
+
if (file?.length) {
|
|
98
|
+
reply.header('content-length', file?.length.toString());
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const readStream = await modules.gridfsFileUploads.createReadStream(directoryName, fileId);
|
|
102
|
+
|
|
103
|
+
reply.status(200);
|
|
104
|
+
return reply.send(readStream);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
reply.status(404);
|
|
108
|
+
return reply.send();
|
|
109
|
+
} catch (e) {
|
|
110
|
+
if (e.code === 'ENOENT') {
|
|
111
|
+
logger.warn(e);
|
|
112
|
+
reply.status(404);
|
|
113
|
+
return reply.send({ name: e.name, code: e.code, message: e.message });
|
|
114
|
+
} else {
|
|
115
|
+
logger.warn(e);
|
|
116
|
+
reply.status(504);
|
|
117
|
+
return reply.send({ name: e.name, code: e.code, message: e.message });
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export default gridfsHandler;
|
|
@@ -1,31 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './adapter.js';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
// eslint-disable-next-line
|
|
5
|
-
let { GridFSBucket } = mongodb;
|
|
3
|
+
import gridfsModules, { type GridFSFileUploadsModule } from './module.js';
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const options = { bucketName: `file_uploads_${directoryName}` };
|
|
10
|
-
const bucket = new GridFSBucket(db, options);
|
|
11
|
-
return bucket.openUploadStreamWithId(fileId, fileName, { metadata });
|
|
12
|
-
},
|
|
13
|
-
getFileInfo: async (directoryName, fileId) => {
|
|
14
|
-
const options = { bucketName: `file_uploads_${directoryName}` };
|
|
15
|
-
const bucket = new GridFSBucket(db, options);
|
|
16
|
-
return bucket.find({ _id: fileId }).next();
|
|
17
|
-
},
|
|
18
|
-
createReadStream: async (directoryName, fileId) => {
|
|
19
|
-
const options = { bucketName: `file_uploads_${directoryName}` };
|
|
20
|
-
const bucket = new GridFSBucket(db, options);
|
|
21
|
-
return bucket.openDownloadStream(fileId);
|
|
22
|
-
},
|
|
23
|
-
removeFileFromBucket: async (directoryName, fileId) => {
|
|
24
|
-
const options = { bucketName: `file_uploads_${directoryName}` };
|
|
25
|
-
const bucket = new GridFSBucket(db, options);
|
|
26
|
-
return bucket.delete(fileId);
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export type GridFSFileUploadsModule = ReturnType<typeof configureGridFSFileUploadModule>;
|
|
5
|
+
export type { GridFSFileUploadsModule };
|
|
6
|
+
export default gridfsModules;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { mongodb } from '@unchainedshop/mongodb';
|
|
2
|
+
|
|
3
|
+
export const configureGridFSFileUploadModule = ({ db }) => {
|
|
4
|
+
// eslint-disable-next-line
|
|
5
|
+
let { GridFSBucket } = mongodb;
|
|
6
|
+
|
|
7
|
+
return {
|
|
8
|
+
createWriteStream: async (directoryName, fileId, fileName, metadata) => {
|
|
9
|
+
const options = { bucketName: `file_uploads_${directoryName}` };
|
|
10
|
+
const bucket = new GridFSBucket(db, options);
|
|
11
|
+
return bucket.openUploadStreamWithId(fileId, fileName, { metadata });
|
|
12
|
+
},
|
|
13
|
+
getFileInfo: async (directoryName, fileId) => {
|
|
14
|
+
const options = { bucketName: `file_uploads_${directoryName}` };
|
|
15
|
+
const bucket = new GridFSBucket(db, options);
|
|
16
|
+
return bucket.find({ _id: fileId }).next();
|
|
17
|
+
},
|
|
18
|
+
createReadStream: async (directoryName, fileId) => {
|
|
19
|
+
const options = { bucketName: `file_uploads_${directoryName}` };
|
|
20
|
+
const bucket = new GridFSBucket(db, options);
|
|
21
|
+
return bucket.openDownloadStream(fileId);
|
|
22
|
+
},
|
|
23
|
+
removeFileFromBucket: async (directoryName, fileId) => {
|
|
24
|
+
const options = { bucketName: `file_uploads_${directoryName}` };
|
|
25
|
+
const bucket = new GridFSBucket(db, options);
|
|
26
|
+
return bucket.delete(fileId);
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export default {
|
|
32
|
+
gridfsFileUploads: {
|
|
33
|
+
configure: configureGridFSFileUploadModule,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export type GridFSFileUploadsModule = {
|
|
38
|
+
gridfsFileUploads: ReturnType<typeof configureGridFSFileUploadModule>;
|
|
39
|
+
};
|
|
@@ -9,7 +9,7 @@ const isAuthorized = ({ authorization = '' }) => {
|
|
|
9
9
|
return type === 'Bearer' && token === MINIO_WEBHOOK_AUTH_TOKEN;
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
const minioHandler = async (req, res) => {
|
|
13
13
|
try {
|
|
14
14
|
if (req.method === 'POST' && req.body) {
|
|
15
15
|
const { headers } = req;
|
|
@@ -34,3 +34,5 @@ export const minioHandler = async (req, res) => {
|
|
|
34
34
|
res.end(JSON.stringify({ name: e.name, code: e.code, message: e.message }));
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
|
|
38
|
+
export default minioHandler;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Context } from '@unchainedshop/api';
|
|
2
|
+
import { createLogger } from '@unchainedshop/logger';
|
|
3
|
+
import { FastifyRequest, RouteHandlerMethod } from 'fastify';
|
|
4
|
+
|
|
5
|
+
const logger = createLogger('unchained:plugins:minio');
|
|
6
|
+
|
|
7
|
+
const { MINIO_WEBHOOK_AUTH_TOKEN } = process.env;
|
|
8
|
+
|
|
9
|
+
const isAuthorized = ({ authorization = '' }) => {
|
|
10
|
+
const [type, token] = authorization.split(' ');
|
|
11
|
+
return type === 'Bearer' && token === MINIO_WEBHOOK_AUTH_TOKEN;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const minioHandler: RouteHandlerMethod = async (
|
|
15
|
+
req: FastifyRequest & {
|
|
16
|
+
unchainedContext: Context;
|
|
17
|
+
},
|
|
18
|
+
res,
|
|
19
|
+
) => {
|
|
20
|
+
try {
|
|
21
|
+
if (req.body) {
|
|
22
|
+
const { headers } = req;
|
|
23
|
+
const { Records = [], EventName } = req.body as Record<string, any>;
|
|
24
|
+
if (EventName === 's3:ObjectCreated:Put' && isAuthorized(headers)) {
|
|
25
|
+
const [{ s3 }] = Records;
|
|
26
|
+
const { object } = s3;
|
|
27
|
+
const { size, contentType: type } = object;
|
|
28
|
+
const [fileId] = object.key.split('.');
|
|
29
|
+
const { services } = req.unchainedContext;
|
|
30
|
+
await services.files.linkFile({ fileId, type, size });
|
|
31
|
+
res.status(200);
|
|
32
|
+
return res.send();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
res.status(404);
|
|
36
|
+
return res.send();
|
|
37
|
+
} catch (e) {
|
|
38
|
+
logger.error(e);
|
|
39
|
+
res.status(503);
|
|
40
|
+
return res.send(JSON.stringify({ name: e.name, code: e.code, message: e.message }));
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export default minioHandler;
|
|
@@ -3,17 +3,6 @@ import { ProductText } from '@unchainedshop/core-products';
|
|
|
3
3
|
import { AssortmentText } from '@unchainedshop/core-assortments';
|
|
4
4
|
import { FilterDirector, FilterAdapter, IFilterAdapter } from '@unchainedshop/core';
|
|
5
5
|
|
|
6
|
-
function escapeStringRegexp(string) {
|
|
7
|
-
if (typeof string !== 'string') {
|
|
8
|
-
throw new TypeError('Expected a string');
|
|
9
|
-
}
|
|
10
|
-
// Escape characters with special meaning either inside or outside character sets.
|
|
11
|
-
// Use a simple backslash escape when it’s always valid, and a `\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.
|
|
12
|
-
return string.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d');
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const { AMAZON_DOCUMENTDB_COMPAT_MODE } = process.env;
|
|
16
|
-
|
|
17
6
|
const LocalSearch: IFilterAdapter = {
|
|
18
7
|
...FilterAdapter,
|
|
19
8
|
|
|
@@ -32,20 +21,9 @@ const LocalSearch: IFilterAdapter = {
|
|
|
32
21
|
|
|
33
22
|
if (!queryString) return productIds;
|
|
34
23
|
|
|
35
|
-
const selector: mongodb.Filter<ProductText> =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
{ title: { $regex: `${escapeStringRegexp(queryString)}`, $options: 'im' } },
|
|
39
|
-
{ subtitle: { $regex: `${escapeStringRegexp(queryString)}`, $options: 'im' } },
|
|
40
|
-
{ vendor: { $regex: `${escapeStringRegexp(queryString)}`, $options: 'im' } },
|
|
41
|
-
{ brand: { $regex: `${escapeStringRegexp(queryString)}`, $options: 'im' } },
|
|
42
|
-
{ description: { $regex: `${escapeStringRegexp(queryString)}`, $options: 'im' } },
|
|
43
|
-
{ labels: { $regex: `${escapeStringRegexp(queryString)}`, $options: 'im' } },
|
|
44
|
-
],
|
|
45
|
-
}
|
|
46
|
-
: {
|
|
47
|
-
$text: { $search: queryString },
|
|
48
|
-
};
|
|
24
|
+
const selector: mongodb.Filter<ProductText> = {
|
|
25
|
+
$text: { $search: queryString },
|
|
26
|
+
};
|
|
49
27
|
|
|
50
28
|
if (productIds) {
|
|
51
29
|
selector.productId = { $in: [...new Set(productIds)] as any };
|