@unchainedshop/plugins 1.2.11 → 1.2.12
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/delivery/pick-mup.js +1 -2
- package/lib/delivery/pick-mup.js.map +1 -1
- package/lib/delivery/send-message.js +1 -2
- package/lib/delivery/send-message.js.map +1 -1
- package/lib/events/redis.js +3 -2
- package/lib/events/redis.js.map +1 -1
- package/lib/files/gridfs/gridfs-adapter.js.map +1 -1
- package/lib/files/gridfs/gridfs-webhook.js +1 -1
- package/lib/files/gridfs/gridfs-webhook.js.map +1 -1
- package/lib/files/minio/minio-adapter.d.ts +1 -1
- package/lib/files/minio/minio-adapter.js +6 -4
- package/lib/files/minio/minio-adapter.js.map +1 -1
- package/lib/payment/apple-iap/adapter.js.map +1 -1
- package/lib/payment/bity/adapter.js +2 -0
- package/lib/payment/bity/adapter.js.map +1 -1
- package/lib/payment/braintree.js +5 -1
- package/lib/payment/braintree.js.map +1 -1
- package/lib/payment/cryptopay.js.map +1 -1
- package/lib/payment/datatrans-v2/api/index.d.ts +1 -1
- package/lib/payment/datatrans-v2/api/makeFetcher.d.ts +2 -1
- package/lib/payment/datatrans-v2/api/makeFetcher.js +11 -8
- package/lib/payment/datatrans-v2/api/makeFetcher.js.map +1 -1
- package/lib/payment/datatrans-v2/index.js +1 -1
- package/lib/payment/datatrans-v2/index.js.map +1 -1
- package/lib/payment/datatrans-v2/middleware.js.map +1 -1
- package/lib/payment/postfinance-checkout/api.d.ts +5 -5
- package/lib/payment/postfinance-checkout/api.js +3 -3
- package/lib/payment/postfinance-checkout/api.js.map +1 -1
- package/lib/payment/postfinance-checkout/index.js +11 -11
- package/lib/payment/postfinance-checkout/index.js.map +1 -1
- package/lib/payment/postfinance-checkout/utils.d.ts +3 -3
- package/lib/payment/postfinance-checkout/utils.js +4 -3
- package/lib/payment/postfinance-checkout/utils.js.map +1 -1
- package/lib/payment/stripe.js +2 -0
- package/lib/payment/stripe.js.map +1 -1
- package/lib/payment/worldline-saferpay/index.js +6 -2
- package/lib/payment/worldline-saferpay/index.js.map +1 -1
- package/lib/plugins-index.d.ts +0 -0
- package/lib/plugins-index.js +1 -0
- package/lib/plugins-index.js.map +1 -0
- package/lib/pricing/delivery-swiss-tax.d.ts +1 -1
- package/lib/pricing/delivery-swiss-tax.js +3 -9
- package/lib/pricing/delivery-swiss-tax.js.map +1 -1
- package/lib/pricing/free-delivery.js +2 -0
- package/lib/pricing/free-delivery.js.map +1 -1
- package/lib/pricing/free-payment.js +2 -0
- package/lib/pricing/free-payment.js.map +1 -1
- package/lib/pricing/order-discount.js +2 -0
- package/lib/pricing/order-discount.js.map +1 -1
- package/lib/pricing/order-items-discount.js +2 -0
- package/lib/pricing/order-items-discount.js.map +1 -1
- package/lib/pricing/product-swiss-tax.d.ts +1 -1
- package/lib/pricing/product-swiss-tax.js +2 -9
- package/lib/pricing/product-swiss-tax.js.map +1 -1
- package/lib/warehousing/store.js +2 -2
- package/lib/warehousing/store.js.map +1 -1
- package/lib/worker/BulkImportWorker.js +9 -9
- package/lib/worker/BulkImportWorker.js.map +1 -1
- package/lib/worker/GenerateOrderWorker.js +2 -2
- package/lib/worker/GenerateOrderWorker.js.map +1 -1
- package/lib/worker/MessageWorker.js +1 -1
- package/lib/worker/MessageWorker.js.map +1 -1
- package/lib/worker/email.js +3 -0
- package/lib/worker/email.js.map +1 -1
- package/package.json +37 -3
- package/readme.md +4 -0
- package/src/delivery/pick-mup.ts +2 -3
- package/src/delivery/send-message.ts +1 -2
- package/src/events/redis.ts +3 -2
- package/src/files/gridfs/gridfs-adapter.ts +6 -6
- package/src/files/gridfs/gridfs-webhook.ts +1 -1
- package/src/files/minio/minio-adapter.ts +10 -8
- package/src/payment/apple-iap/adapter.ts +1 -1
- package/src/payment/bity/adapter.ts +5 -3
- package/src/payment/braintree.ts +6 -1
- package/src/payment/cryptopay.ts +1 -1
- package/src/payment/datatrans-v2/api/makeFetcher.ts +7 -5
- package/src/payment/datatrans-v2/index.ts +1 -1
- package/src/payment/datatrans-v2/middleware.ts +2 -2
- package/src/payment/postfinance-checkout/api.ts +8 -9
- package/src/payment/postfinance-checkout/index.ts +19 -13
- package/src/payment/postfinance-checkout/silence-postfinancecheckout.d.ts +33 -0
- package/src/payment/postfinance-checkout/utils.ts +7 -6
- package/src/payment/stripe.ts +2 -0
- package/src/payment/worldline-saferpay/index.ts +7 -4
- package/src/plugins-index.ts +0 -0
- package/src/pricing/delivery-swiss-tax.ts +3 -10
- package/src/pricing/free-delivery.ts +2 -0
- package/src/pricing/free-payment.ts +2 -0
- package/src/pricing/order-discount.ts +2 -0
- package/src/pricing/order-items-discount.ts +2 -0
- package/src/pricing/product-swiss-tax.ts +2 -9
- package/src/warehousing/store.ts +2 -2
- package/src/worker/BulkImportWorker.ts +24 -18
- package/src/worker/GenerateOrderWorker.ts +2 -2
- package/src/worker/MessageWorker.ts +3 -2
- package/src/worker/email.ts +4 -1
- package/tsconfig.json +10 -1
|
@@ -54,7 +54,7 @@ const GenerateOrderWorker = {
|
|
|
54
54
|
});
|
|
55
55
|
const errors = (await Promise.all(enrollments.map(async (enrollment) => {
|
|
56
56
|
try {
|
|
57
|
-
const director = await EnrollmentDirector.actions({ enrollment }, requestContext);
|
|
57
|
+
const director = await EnrollmentDirector.actions({ enrollment }, requestContext); // TODO: Type Refactor
|
|
58
58
|
const period = await director.nextPeriod();
|
|
59
59
|
if (period) {
|
|
60
60
|
const configuration = await director.configurationForOrder({
|
|
@@ -62,7 +62,7 @@ const GenerateOrderWorker = {
|
|
|
62
62
|
period,
|
|
63
63
|
});
|
|
64
64
|
if (configuration) {
|
|
65
|
-
const order = await generateOrder(enrollment, configuration, requestContext);
|
|
65
|
+
const order = await generateOrder(enrollment, configuration, requestContext); // TODO: Type Refactor
|
|
66
66
|
if (order) {
|
|
67
67
|
await modules.enrollments.addEnrollmentPeriod(enrollment._id, {
|
|
68
68
|
...period,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateOrderWorker.js","sourceRoot":"","sources":["../../src/worker/GenerateOrderWorker.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE3E,MAAM,aAAa,GAAG,KAAK,EACzB,UAAsB,EACtB,MAGwB,EACxB,cAAuB,EACvB,EAAE;IACF,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE7D,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;IACnC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,CAAC;IACjE,IAAI,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CACrC;QACE,QAAQ,EAAE,UAAU,CAAC,YAAY;QACjC,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;QACzC,kBAAkB,EAAE,UAAU,CAAC,GAAG;QAClC,GAAG,aAAa;KACjB,EACD,UAAU,CAAC,MAAM,CAClB,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;IAE1B,IAAI,aAAa,EAAE;QACjB,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,CAC/C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,CAAC,CAC3F,CACF,CAAC;KACH;SAAM;QACL,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YACjD,SAAS,EAAE,UAAU,CAAC,SAAS;SAChC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAC3C,EAAE,QAAQ,EAAE,CAAC,EAAE,EACf;YACE,KAAK;YACL,OAAO;SACR,EACD,cAAc,CACf,CAAC;KACH;IAED,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;IAE1E,IAAI,iBAAiB,EAAE;QACrB,MAAM,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;KACrF;IACD,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;IAC7E,IAAI,kBAAkB,EAAE;QACtB,MAAM,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;KACvF;IAED,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CACnC,KAAK,CAAC,GAAG,EACT;QACE,cAAc;QACd,eAAe;QACf,YAAY;KACb,EACD,cAAc,CACf,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAA6B;IACpD,GAAG,aAAa;IAEhB,GAAG,EAAE,yDAAyD;IAC9D,KAAK,EAAE,uCAAuC;IAC9C,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,4BAA4B;IAElC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;QACtC,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;QAEnC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC;YAC5D,MAAM,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC;SAC3D,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,CACb,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACnC,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"GenerateOrderWorker.js","sourceRoot":"","sources":["../../src/worker/GenerateOrderWorker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageWorker.js","sourceRoot":"","sources":["../../src/worker/MessageWorker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageWorker.js","sourceRoot":"","sources":["../../src/worker/MessageWorker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,aAAa,GAGtB;IACF,GAAG,aAAa;IAEhB,GAAG,EAAE,sCAAsC;IAC3C,KAAK,EAAE,2EAA2E;IAClF,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,SAAS;IAEf,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE;QACjE,IAAI;YACF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAEjE,MAAM,kBAAkB,GAAG,MAAM,gBAAgB,CAC/C;gBACE,QAAQ;gBACR,GAAG,OAAO;aACX,EACD,cAAyB,CAC1B,CAAC;YAEF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAsB,EAAE,EAAE;oBACtD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CACtD;wBACE,GAAG,iBAAiB;wBACpB,cAAc,EAAE,MAAM;qBACvB,EACD,IAAI,CACL,CAAC;oBACF,OAAO,IAAI,CAAC,KAAK,CAAC;oBAClB,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CACH,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;aAC9C;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,CAAC;SAC/D;QAAC,OAAO,GAAG,EAAE;YACZ,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,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;SACH;IACH,CAAC;CACF,CAAC;AAEF,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC"}
|
package/lib/worker/email.js
CHANGED
|
@@ -77,6 +77,9 @@ const EmailWorkerPlugin = {
|
|
|
77
77
|
openInBrowser(sendMailOptions);
|
|
78
78
|
return { success: true, result: { intercepted: true } };
|
|
79
79
|
}
|
|
80
|
+
if (!process.env.MAIL_URL) {
|
|
81
|
+
return { success: false, error: { name: 'NO_MAIL_URL_SET', message: 'MAIL_URL is not set' } };
|
|
82
|
+
}
|
|
80
83
|
const transporter = nodemailer.createTransport(process.env.MAIL_URL);
|
|
81
84
|
const result = await transporter.sendMail(sendMailOptions);
|
|
82
85
|
return { success: true, result };
|
package/lib/worker/email.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/worker/email.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/worker/email.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,46 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/plugins",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.12",
|
|
4
4
|
"main": "lib/plugins-index.js",
|
|
5
|
+
"types": "lib/plugins-index.d.ts",
|
|
5
6
|
"exports": {
|
|
6
7
|
".": "./lib/plugins-index.js",
|
|
7
8
|
"./*": "./lib/*"
|
|
8
9
|
},
|
|
10
|
+
"typesVersions": {
|
|
11
|
+
"*": {
|
|
12
|
+
"delivery/*": [
|
|
13
|
+
"./lib/delivery/*"
|
|
14
|
+
],
|
|
15
|
+
"enrollments/*": [
|
|
16
|
+
"./lib/enrollments/*"
|
|
17
|
+
],
|
|
18
|
+
"events/*": [
|
|
19
|
+
"./lib/events/*"
|
|
20
|
+
],
|
|
21
|
+
"files/*": [
|
|
22
|
+
"./lib/files/*"
|
|
23
|
+
],
|
|
24
|
+
"filters/*": [
|
|
25
|
+
"./lib/filters/*"
|
|
26
|
+
],
|
|
27
|
+
"payment/*": [
|
|
28
|
+
"./lib/payment/*"
|
|
29
|
+
],
|
|
30
|
+
"pricing/*": [
|
|
31
|
+
"./lib/pricing/*"
|
|
32
|
+
],
|
|
33
|
+
"quotations/*": [
|
|
34
|
+
"./lib/quotations/*"
|
|
35
|
+
],
|
|
36
|
+
"warehousing/*": [
|
|
37
|
+
"./lib/warehousing/*"
|
|
38
|
+
],
|
|
39
|
+
"worker/*": [
|
|
40
|
+
"./lib/worker/*"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
},
|
|
9
44
|
"type": "module",
|
|
10
45
|
"scripts": {
|
|
11
46
|
"clean": "rm -rf lib",
|
|
@@ -29,7 +64,7 @@
|
|
|
29
64
|
},
|
|
30
65
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
31
66
|
"devDependencies": {
|
|
32
|
-
"@types/node": "^16.11.
|
|
67
|
+
"@types/node": "^16.11.48",
|
|
33
68
|
"@unchainedshop/api": "1.x",
|
|
34
69
|
"@unchainedshop/client-oauth2": "^4.3.3",
|
|
35
70
|
"@unchainedshop/core-delivery": "1.x",
|
|
@@ -53,7 +88,6 @@
|
|
|
53
88
|
"jest": "^28.1.2",
|
|
54
89
|
"JSONStream": "^1.3.5",
|
|
55
90
|
"minio": "^7.0.28",
|
|
56
|
-
"moment": "^2.29.3",
|
|
57
91
|
"mongodb": "^4.7.0",
|
|
58
92
|
"node-sheets": "^1.1.9",
|
|
59
93
|
"nodemailer": "^6.7.5",
|
package/readme.md
CHANGED
|
@@ -1 +1,5 @@
|
|
|
1
1
|
# Official Unchained Plugins
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## Warning about Postfinance-Checkout Plugin
|
|
5
|
+
Because of a Typescript issue with upstream "postfinancecheckout", the Postfinance plugin has been disabled from transpilation, import the source ts files from src and enable node_module tsc or copy over the src/payment/postfinance-checkout to your project.
|
package/src/delivery/pick-mup.ts
CHANGED
|
@@ -7,7 +7,6 @@ const fetchPickMupLocations = async (key: string, idsFilter?: string) => {
|
|
|
7
7
|
const pickMupUrl = '';
|
|
8
8
|
|
|
9
9
|
const data = await fetch(`${pickMupUrl}${idsFilter ? `&ids[]=${idsFilter}` : ''}`, {
|
|
10
|
-
credentials: 'omit',
|
|
11
10
|
headers: {
|
|
12
11
|
accept: 'application/json, text/javascript, */*; q=0.01',
|
|
13
12
|
'accept-language': 'de',
|
|
@@ -20,9 +19,9 @@ const fetchPickMupLocations = async (key: string, idsFilter?: string) => {
|
|
|
20
19
|
body: null,
|
|
21
20
|
method: 'GET',
|
|
22
21
|
});
|
|
23
|
-
const result = await data.json();
|
|
22
|
+
const result: any = await data.json();
|
|
24
23
|
const { stores = [] } = result || {};
|
|
25
|
-
return stores.flatMap(({ markets = [], location = {}, id }
|
|
24
|
+
return stores.flatMap(({ markets = [], location = {}, id }) => {
|
|
26
25
|
return markets.map(({ full_name: fullName }) => {
|
|
27
26
|
// eslint-disable-line
|
|
28
27
|
const {
|
|
@@ -30,7 +30,7 @@ const SendMessage: IDeliveryAdapter = {
|
|
|
30
30
|
return null;
|
|
31
31
|
},
|
|
32
32
|
|
|
33
|
-
send: async (
|
|
33
|
+
send: async () => {
|
|
34
34
|
const { modules, order, userId } = context;
|
|
35
35
|
|
|
36
36
|
return modules.worker.addWork(
|
|
@@ -41,7 +41,6 @@ const SendMessage: IDeliveryAdapter = {
|
|
|
41
41
|
template: 'DELIVERY',
|
|
42
42
|
orderId: order._id,
|
|
43
43
|
config,
|
|
44
|
-
transactionContext,
|
|
45
44
|
},
|
|
46
45
|
},
|
|
47
46
|
userId,
|
package/src/events/redis.ts
CHANGED
|
@@ -18,9 +18,10 @@ const RedisEventEmitter = (): EmitAdapter => {
|
|
|
18
18
|
return {
|
|
19
19
|
publish: (eventName, payload) => redisPublisher.publish(eventName, JSON.stringify(payload)),
|
|
20
20
|
subscribe: (eventName, callback) => {
|
|
21
|
-
redisSubscriber.on('message', (_channelName, payload) => callback(payload));
|
|
22
21
|
if (!subscribedEvents.has(eventName)) {
|
|
23
|
-
redisSubscriber.subscribe(eventName)
|
|
22
|
+
redisSubscriber.subscribe(eventName, (payload) => {
|
|
23
|
+
callback(JSON.parse(payload));
|
|
24
|
+
});
|
|
24
25
|
subscribedEvents.add(eventName);
|
|
25
26
|
}
|
|
26
27
|
},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IFileAdapter } from '@unchainedshop/types/files';
|
|
1
|
+
import { IFileAdapter, UploadFileData } from '@unchainedshop/types/files';
|
|
2
2
|
import { FileAdapter, FileDirector, buildHashedFilename } from '@unchainedshop/file-upload';
|
|
3
3
|
import https from 'https';
|
|
4
4
|
import http, { OutgoingHttpHeaders } from 'http';
|
|
@@ -64,7 +64,7 @@ export const GridFSAdapter: IFileAdapter = {
|
|
|
64
64
|
type: mimeType.lookup(fileName),
|
|
65
65
|
putURL,
|
|
66
66
|
url,
|
|
67
|
-
};
|
|
67
|
+
} as UploadFileData & { putURL: string };
|
|
68
68
|
},
|
|
69
69
|
|
|
70
70
|
async uploadFileFromStream(directoryName: string, rawFile: any, { modules }: any) {
|
|
@@ -84,7 +84,7 @@ export const GridFSAdapter: IFileAdapter = {
|
|
|
84
84
|
|
|
85
85
|
const writeStream = await modules.gridfsFileUploads.createWriteStream(directoryName, _id, fileName);
|
|
86
86
|
|
|
87
|
-
const file = await promisePipe(stream, writeStream);
|
|
87
|
+
const file: any = await promisePipe(stream, writeStream);
|
|
88
88
|
const url = `/gridfs/${directoryName}/${_id}`;
|
|
89
89
|
|
|
90
90
|
return {
|
|
@@ -95,7 +95,7 @@ export const GridFSAdapter: IFileAdapter = {
|
|
|
95
95
|
size: file.length,
|
|
96
96
|
type: mimeType.lookup(fileName) || (await Promise.resolve(rawFile)).mimetype,
|
|
97
97
|
url,
|
|
98
|
-
};
|
|
98
|
+
} as UploadFileData;
|
|
99
99
|
},
|
|
100
100
|
|
|
101
101
|
async uploadFileFromURL(
|
|
@@ -111,7 +111,7 @@ export const GridFSAdapter: IFileAdapter = {
|
|
|
111
111
|
|
|
112
112
|
const downloadStream = await createDownloadStream(href, headers);
|
|
113
113
|
const writeStream = await modules.gridfsFileUploads.createWriteStream(directoryName, _id, fileName);
|
|
114
|
-
const file = await promisePipe(downloadStream, writeStream);
|
|
114
|
+
const file: any = await promisePipe(downloadStream, writeStream);
|
|
115
115
|
const url = `/gridfs/${directoryName}/${_id}`;
|
|
116
116
|
|
|
117
117
|
return {
|
|
@@ -122,7 +122,7 @@ export const GridFSAdapter: IFileAdapter = {
|
|
|
122
122
|
size: file.length,
|
|
123
123
|
type: mimeType.lookup(fileName),
|
|
124
124
|
url,
|
|
125
|
-
};
|
|
125
|
+
} as UploadFileData;
|
|
126
126
|
},
|
|
127
127
|
|
|
128
128
|
async removeFiles(files, { modules }: any) {
|
|
@@ -34,7 +34,7 @@ export default (app) =>
|
|
|
34
34
|
fileName,
|
|
35
35
|
);
|
|
36
36
|
res.writeHead(200);
|
|
37
|
-
const { length } = await promisePipe(req, writeStream);
|
|
37
|
+
const { length } = (await promisePipe(req, writeStream)) as any;
|
|
38
38
|
await services.files.linkFile({ fileId, size: length }, req.unchainedContext);
|
|
39
39
|
res.end();
|
|
40
40
|
return;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IFileAdapter } from '@unchainedshop/types/files';
|
|
1
|
+
import { IFileAdapter, UploadFileData } from '@unchainedshop/types/files';
|
|
2
2
|
import { FileAdapter, FileDirector, buildHashedFilename } from '@unchainedshop/file-upload';
|
|
3
3
|
|
|
4
4
|
import https from 'https';
|
|
@@ -22,7 +22,7 @@ const PUT_URL_EXPIRY = 24 * 60 * 60;
|
|
|
22
22
|
|
|
23
23
|
let client: Minio.Client;
|
|
24
24
|
|
|
25
|
-
export async function connectToMinio(
|
|
25
|
+
export async function connectToMinio() {
|
|
26
26
|
if (!MINIO_ENDPOINT || !MINIO_BUCKET_NAME) {
|
|
27
27
|
log(
|
|
28
28
|
'Please configure Minio/S3 by providing MINIO_ENDPOINT & MINIO_BUCKET_NAME to use upload features',
|
|
@@ -43,11 +43,13 @@ export async function connectToMinio(credentialsProvider) {
|
|
|
43
43
|
secretKey: MINIO_SECRET_KEY,
|
|
44
44
|
});
|
|
45
45
|
|
|
46
|
+
// eslint-disable-next-line
|
|
47
|
+
// @ts-ignore
|
|
46
48
|
if (NODE_ENV === 'development') minioClient?.traceOn(process.stdout);
|
|
47
49
|
|
|
48
|
-
if (credentialsProvider) {
|
|
49
|
-
|
|
50
|
-
}
|
|
50
|
+
// if (credentialsProvider) {
|
|
51
|
+
// await minioClient.setCredentialsProvider(credentialsProvider);
|
|
52
|
+
// }
|
|
51
53
|
|
|
52
54
|
client = minioClient;
|
|
53
55
|
} catch (error) {
|
|
@@ -131,7 +133,7 @@ export const MinioAdapter: IFileAdapter = {
|
|
|
131
133
|
type: getMimeType(fileName),
|
|
132
134
|
putURL: url,
|
|
133
135
|
url: generateMinioUrl(directoryName, _id),
|
|
134
|
-
};
|
|
136
|
+
} as UploadFileData & { putURL: string };
|
|
135
137
|
},
|
|
136
138
|
|
|
137
139
|
async removeFiles(files) {
|
|
@@ -177,7 +179,7 @@ export const MinioAdapter: IFileAdapter = {
|
|
|
177
179
|
size,
|
|
178
180
|
type,
|
|
179
181
|
url: generateMinioUrl(directoryName, _id),
|
|
180
|
-
};
|
|
182
|
+
} as UploadFileData;
|
|
181
183
|
},
|
|
182
184
|
|
|
183
185
|
async uploadFileFromURL(directoryName: string, { fileLink, fileName: fname, headers }: any) {
|
|
@@ -205,7 +207,7 @@ export const MinioAdapter: IFileAdapter = {
|
|
|
205
207
|
size,
|
|
206
208
|
type,
|
|
207
209
|
url: generateMinioUrl(directoryName, _id),
|
|
208
|
-
};
|
|
210
|
+
} as UploadFileData;
|
|
209
211
|
},
|
|
210
212
|
};
|
|
211
213
|
|
|
@@ -22,7 +22,7 @@ const environments = {
|
|
|
22
22
|
production: 'https://buy.itunes.apple.com/verifyReceipt',
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
const verifyReceipt = async ({ receiptData, password }) => {
|
|
25
|
+
const verifyReceipt = async ({ receiptData, password }): Promise<any> => {
|
|
26
26
|
const payload: any = {
|
|
27
27
|
'receipt-data': receiptData,
|
|
28
28
|
};
|
|
@@ -50,6 +50,8 @@ const createBityAuth = () => {
|
|
|
50
50
|
'https://auth.bity.com/scopes/exchange.history',
|
|
51
51
|
'offline_access',
|
|
52
52
|
],
|
|
53
|
+
// eslint-disable-next-line
|
|
54
|
+
// @ts-ignore
|
|
53
55
|
sendClientCredentialsInBody: true,
|
|
54
56
|
});
|
|
55
57
|
};
|
|
@@ -190,7 +192,7 @@ export default (app) => {
|
|
|
190
192
|
if (req.method === 'GET') {
|
|
191
193
|
try {
|
|
192
194
|
const resolvedContext = req.unchainedContext;
|
|
193
|
-
await checkAction(resolvedContext, actions.managePaymentProviders);
|
|
195
|
+
await checkAction(resolvedContext, (actions as any).managePaymentProviders);
|
|
194
196
|
|
|
195
197
|
const bityAuthClient = createBityAuth();
|
|
196
198
|
const uri = bityAuthClient.code.getUri();
|
|
@@ -219,7 +221,7 @@ export default (app) => {
|
|
|
219
221
|
if (req.method === 'GET') {
|
|
220
222
|
try {
|
|
221
223
|
const resolvedContext = req.unchainedContext as Context;
|
|
222
|
-
await checkAction(resolvedContext, actions.managePaymentProviders);
|
|
224
|
+
await checkAction(resolvedContext, (actions as any).managePaymentProviders);
|
|
223
225
|
const bityAuthClient = createBityAuth();
|
|
224
226
|
const user = await bityAuthClient.code.getToken(req.originalUrl);
|
|
225
227
|
await upsertBityCredentials(user, resolvedContext);
|
|
@@ -337,7 +339,7 @@ const Bity: IPaymentAdapter = {
|
|
|
337
339
|
});
|
|
338
340
|
},
|
|
339
341
|
|
|
340
|
-
charge: async () => {
|
|
342
|
+
charge: async (): Promise<false> => {
|
|
341
343
|
const { order } = params.paymentContext;
|
|
342
344
|
const { bityPayload, bitySignature } = order?.context || {};
|
|
343
345
|
|
package/src/payment/braintree.ts
CHANGED
|
@@ -91,7 +91,9 @@ const BraintreeDirect: IPaymentAdapter = {
|
|
|
91
91
|
},
|
|
92
92
|
|
|
93
93
|
sign: async () => {
|
|
94
|
-
|
|
94
|
+
// eslint-disable-next-line
|
|
95
|
+
// @ts-ignore
|
|
96
|
+
const braintree = (await import('braintree')).default;
|
|
95
97
|
const gateway = getGateway(braintree);
|
|
96
98
|
const result = await gateway.clientToken.generate({});
|
|
97
99
|
if (result.success) {
|
|
@@ -105,6 +107,9 @@ const BraintreeDirect: IPaymentAdapter = {
|
|
|
105
107
|
const { order } = params.paymentContext;
|
|
106
108
|
if (!paypalPaymentMethodNonce)
|
|
107
109
|
throw new Error('You have to provide paypalPaymentMethodNonce in paymentContext');
|
|
110
|
+
|
|
111
|
+
// eslint-disable-next-line
|
|
112
|
+
// @ts-ignore
|
|
108
113
|
const braintree = (await import('braintree')).default; // eslint-disable-line
|
|
109
114
|
const gateway = getGateway(braintree);
|
|
110
115
|
const address = order.billingAddress || {};
|
package/src/payment/cryptopay.ts
CHANGED
|
@@ -2,6 +2,7 @@ import fs from 'fs';
|
|
|
2
2
|
import util from 'util';
|
|
3
3
|
import { resolve } from 'path';
|
|
4
4
|
import { log, LogLevel } from '@unchainedshop/logger';
|
|
5
|
+
import fetch, { Response } from 'node-fetch';
|
|
5
6
|
|
|
6
7
|
const readFile = util.promisify(fs.readFile);
|
|
7
8
|
|
|
@@ -11,7 +12,7 @@ export default (
|
|
|
11
12
|
endpoint: string,
|
|
12
13
|
merchantId: string,
|
|
13
14
|
secret: string,
|
|
14
|
-
): ((path: string) => Promise<Response>) => {
|
|
15
|
+
): ((path: string, body: unknown) => Promise<Response>) => {
|
|
15
16
|
if (DATATRANS_API_MOCKS_PATH) {
|
|
16
17
|
return async (path): Promise<Response> => {
|
|
17
18
|
try {
|
|
@@ -21,7 +22,7 @@ export default (
|
|
|
21
22
|
return {
|
|
22
23
|
json: async () => json,
|
|
23
24
|
status: json?.error ? 500 : 204,
|
|
24
|
-
};
|
|
25
|
+
} as any;
|
|
25
26
|
} catch (error) {
|
|
26
27
|
log('DataTrans V2 (makeFetcher) -> Error while trying reading and parsing file', {
|
|
27
28
|
level: LogLevel.Error,
|
|
@@ -30,15 +31,15 @@ export default (
|
|
|
30
31
|
return {
|
|
31
32
|
json: async () => ({ error: { code: 'MOCK', message: 'MOCK' } }),
|
|
32
33
|
status: 500,
|
|
33
|
-
};
|
|
34
|
+
} as any;
|
|
34
35
|
}
|
|
35
36
|
};
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
const token = `${merchantId}:${secret}`;
|
|
39
40
|
|
|
40
|
-
return async (path: string, body:
|
|
41
|
-
fetch(`${endpoint}${path}`, {
|
|
41
|
+
return async (path: string, body: any): Promise<Response> => {
|
|
42
|
+
return fetch(`${endpoint}${path}`, {
|
|
42
43
|
method: body ? 'POST' : 'GET',
|
|
43
44
|
body: body ? JSON.stringify(body) : undefined,
|
|
44
45
|
headers: {
|
|
@@ -46,4 +47,5 @@ export default (
|
|
|
46
47
|
Authorization: `Basic ${Buffer.from(token, 'utf-8').toString('base64')}`,
|
|
47
48
|
},
|
|
48
49
|
});
|
|
50
|
+
};
|
|
49
51
|
};
|
|
@@ -292,7 +292,7 @@ const Datatrans: IPaymentAdapter = {
|
|
|
292
292
|
currency,
|
|
293
293
|
[objectKey]: JSON.parse(credentials.token),
|
|
294
294
|
});
|
|
295
|
-
return (result as ValidateResponseSuccess)?.transactionId;
|
|
295
|
+
return Boolean((result as ValidateResponseSuccess)?.transactionId);
|
|
296
296
|
},
|
|
297
297
|
|
|
298
298
|
async register(transactionResponse) {
|
|
@@ -17,7 +17,7 @@ const logger = createLogger('unchained:core-payment:datatrans');
|
|
|
17
17
|
|
|
18
18
|
const { postUrl, cancelUrl, errorUrl, successUrl, returnUrl } = getPaths(true);
|
|
19
19
|
|
|
20
|
-
export default (app) => {
|
|
20
|
+
export default (app: any) => {
|
|
21
21
|
useMiddlewareWithCurrentContext(
|
|
22
22
|
app,
|
|
23
23
|
postUrl,
|
|
@@ -44,7 +44,7 @@ export default (app) => {
|
|
|
44
44
|
const [, timestamp] = rawTimestamp.split('=');
|
|
45
45
|
|
|
46
46
|
const comparableSignature = generateSignature({
|
|
47
|
-
security: DATATRANS_SECURITY,
|
|
47
|
+
security: DATATRANS_SECURITY as any,
|
|
48
48
|
signKey: DATATRANS_SIGN2_KEY || DATATRANS_SIGN_KEY,
|
|
49
49
|
})(timestamp, req.body);
|
|
50
50
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { RefundCreate } from 'postfinancecheckout/src/models/RefundCreate';
|
|
3
|
-
import { RefundType } from 'postfinancecheckout/src/models/RefundType';
|
|
1
|
+
import * as pf from 'postfinancecheckout';
|
|
4
2
|
|
|
3
|
+
const { PostFinanceCheckout } = pf;
|
|
5
4
|
const { PFCHECKOUT_SPACE_ID, PFCHECKOUT_USER_ID, PFCHECKOUT_SECRET } = process.env;
|
|
6
5
|
const SPACE_ID = parseInt(PFCHECKOUT_SPACE_ID as string, 10);
|
|
7
6
|
const USER_ID = parseInt(PFCHECKOUT_USER_ID as string, 10);
|
|
@@ -48,7 +47,7 @@ const getTokenService = () => {
|
|
|
48
47
|
|
|
49
48
|
export const getTransaction = async (
|
|
50
49
|
transactionId: string,
|
|
51
|
-
): Promise<PostFinanceCheckout.model.Transaction> => {
|
|
50
|
+
): Promise<pf.PostFinanceCheckout.model.Transaction> => {
|
|
52
51
|
const transactionService = getTransactionService();
|
|
53
52
|
const transaction = await transactionService.read(SPACE_ID, parseInt(transactionId, 10));
|
|
54
53
|
return transaction.body;
|
|
@@ -56,7 +55,7 @@ export const getTransaction = async (
|
|
|
56
55
|
|
|
57
56
|
export const getTransactionCompletion = async (
|
|
58
57
|
entityId: string,
|
|
59
|
-
): Promise<PostFinanceCheckout.model.TransactionCompletion> => {
|
|
58
|
+
): Promise<pf.PostFinanceCheckout.model.TransactionCompletion> => {
|
|
60
59
|
const transactionCompletionService = getTransactionCompletionService();
|
|
61
60
|
const transactionCompletion = await transactionCompletionService.read(
|
|
62
61
|
SPACE_ID,
|
|
@@ -68,14 +67,14 @@ export const getTransactionCompletion = async (
|
|
|
68
67
|
export const getToken = async (
|
|
69
68
|
spaceId: number,
|
|
70
69
|
tokenId: number,
|
|
71
|
-
): Promise<PostFinanceCheckout.model.Token> => {
|
|
70
|
+
): Promise<pf.PostFinanceCheckout.model.Token> => {
|
|
72
71
|
const tokenService = getTokenService();
|
|
73
72
|
const token = await tokenService.read(spaceId || SPACE_ID, tokenId);
|
|
74
73
|
return token.body;
|
|
75
74
|
};
|
|
76
75
|
|
|
77
76
|
export const createTransaction = async (
|
|
78
|
-
transaction: PostFinanceCheckout.model.TransactionCreate,
|
|
77
|
+
transaction: pf.PostFinanceCheckout.model.TransactionCreate,
|
|
79
78
|
): Promise<number | null> => {
|
|
80
79
|
const transactionService = getTransactionService();
|
|
81
80
|
const transactionCreateRes = await transactionService.create(SPACE_ID, transaction);
|
|
@@ -99,11 +98,11 @@ export const refundTransaction = async (
|
|
|
99
98
|
amount: number,
|
|
100
99
|
): Promise<boolean> => {
|
|
101
100
|
const refundService = getRefundService();
|
|
102
|
-
const refund: RefundCreate = {
|
|
101
|
+
const refund: pf.PostFinanceCheckout.model.RefundCreate = {
|
|
103
102
|
transaction: parseInt(transactionId, 10),
|
|
104
103
|
externalId: orderId,
|
|
105
104
|
amount,
|
|
106
|
-
type: RefundType.MERCHANT_INITIATED_ONLINE,
|
|
105
|
+
type: PostFinanceCheckout.model.RefundType.MERCHANT_INITIATED_ONLINE,
|
|
107
106
|
};
|
|
108
107
|
try {
|
|
109
108
|
await refundService.refund(SPACE_ID, refund);
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
IPaymentActions,
|
|
3
|
+
IPaymentAdapter,
|
|
4
|
+
PaymentChargeActionResult,
|
|
5
|
+
} from '@unchainedshop/types/payments';
|
|
2
6
|
import { PaymentAdapter, PaymentDirector, PaymentError } from '@unchainedshop/core-payment';
|
|
3
|
-
import { TransactionCompletionBehavior } from 'postfinancecheckout/src/models/TransactionCompletionBehavior';
|
|
4
|
-
import { PostFinanceCheckout } from 'postfinancecheckout';
|
|
5
7
|
import { createLogger } from '@unchainedshop/logger';
|
|
6
|
-
|
|
7
|
-
import
|
|
8
|
+
|
|
9
|
+
import * as pf from 'postfinancecheckout';
|
|
8
10
|
import {
|
|
9
11
|
confirmDeferredTransaction,
|
|
10
12
|
createTransaction,
|
|
@@ -20,6 +22,8 @@ import { orderIsPaid } from './utils';
|
|
|
20
22
|
import setupPostfinance from './middleware';
|
|
21
23
|
import { CompletionModes, IntegrationModes, SignResponse } from './types';
|
|
22
24
|
|
|
25
|
+
const { PostFinanceCheckout } = pf;
|
|
26
|
+
|
|
23
27
|
export default setupPostfinance;
|
|
24
28
|
|
|
25
29
|
const {
|
|
@@ -92,7 +96,7 @@ const PostfinanceCheckout: IPaymentAdapter = {
|
|
|
92
96
|
if (!credentials.meta) return false;
|
|
93
97
|
const { linkedSpaceId } = credentials.meta;
|
|
94
98
|
const tokenData = await getToken(linkedSpaceId, credentials.token);
|
|
95
|
-
return tokenData.state === CreationEntityState.ACTIVE;
|
|
99
|
+
return tokenData.state === PostFinanceCheckout.model.CreationEntityState.ACTIVE;
|
|
96
100
|
},
|
|
97
101
|
|
|
98
102
|
sign: async (transactionContext: any = {}) => {
|
|
@@ -120,9 +124,11 @@ const PostfinanceCheckout: IPaymentAdapter = {
|
|
|
120
124
|
transaction.tokenizationMode =
|
|
121
125
|
PostFinanceCheckout.model.TokenizationMode.ALLOW_ONE_CLICK_PAYMENT;
|
|
122
126
|
if (completionMode === CompletionModes.Immediate) {
|
|
123
|
-
transaction.completionBehavior =
|
|
127
|
+
transaction.completionBehavior =
|
|
128
|
+
PostFinanceCheckout.model.TransactionCompletionBehavior.COMPLETE_IMMEDIATELY;
|
|
124
129
|
} else if (completionMode === CompletionModes.Deferred) {
|
|
125
|
-
transaction.completionBehavior =
|
|
130
|
+
transaction.completionBehavior =
|
|
131
|
+
PostFinanceCheckout.model.TransactionCompletionBehavior.COMPLETE_DEFERRED;
|
|
126
132
|
}
|
|
127
133
|
if (totalAmount) {
|
|
128
134
|
const lineItemSum = new PostFinanceCheckout.model.LineItemCreate();
|
|
@@ -190,16 +196,16 @@ const PostfinanceCheckout: IPaymentAdapter = {
|
|
|
190
196
|
});
|
|
191
197
|
}
|
|
192
198
|
|
|
193
|
-
const {
|
|
199
|
+
const { id, ...tokenMeta } = transaction.token || {};
|
|
194
200
|
|
|
195
201
|
return {
|
|
196
202
|
transaction,
|
|
197
203
|
transactionId,
|
|
198
204
|
credentials: id && {
|
|
199
205
|
...tokenMeta,
|
|
200
|
-
token: id,
|
|
206
|
+
token: id.toString(),
|
|
201
207
|
},
|
|
202
|
-
};
|
|
208
|
+
} as PaymentChargeActionResult;
|
|
203
209
|
},
|
|
204
210
|
|
|
205
211
|
cancel: async () => {
|
|
@@ -209,7 +215,7 @@ const PostfinanceCheckout: IPaymentAdapter = {
|
|
|
209
215
|
return false;
|
|
210
216
|
}
|
|
211
217
|
const transaction = await getTransaction(transactionId);
|
|
212
|
-
const refund = transaction.state === TransactionState.FULFILL;
|
|
218
|
+
const refund = transaction.state === PostFinanceCheckout.model.TransactionState.FULFILL;
|
|
213
219
|
const order = await modules.orders.findOrder({
|
|
214
220
|
orderId: orderPayment.orderId,
|
|
215
221
|
});
|
|
@@ -229,7 +235,7 @@ const PostfinanceCheckout: IPaymentAdapter = {
|
|
|
229
235
|
return false;
|
|
230
236
|
}
|
|
231
237
|
const transaction = await getTransaction(transactionId);
|
|
232
|
-
if (transaction.state === TransactionState.AUTHORIZED) {
|
|
238
|
+
if (transaction.state === PostFinanceCheckout.model.TransactionState.AUTHORIZED) {
|
|
233
239
|
return confirmDeferredTransaction(transactionId);
|
|
234
240
|
}
|
|
235
241
|
return false;
|