@unchainedshop/plugins 2.0.0-beta5 → 2.0.0-beta7
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.d.ts +1 -0
- package/lib/delivery/pick-mup.js +1 -1
- package/lib/delivery/pick-mup.js.map +1 -1
- package/lib/files/gridfs/gridfs-adapter.d.ts +1 -0
- package/lib/files/gridfs/gridfs-adapter.js +0 -1
- package/lib/files/gridfs/gridfs-adapter.js.map +1 -1
- package/lib/files/gridfs/gridfs-webhook.d.ts +1 -2
- package/lib/files/gridfs/gridfs-webhook.js +2 -6
- package/lib/files/gridfs/gridfs-webhook.js.map +1 -1
- package/lib/files/minio/minio-adapter.d.ts +2 -1
- package/lib/files/minio/minio-adapter.js +13 -7
- package/lib/files/minio/minio-adapter.js.map +1 -1
- package/lib/files/minio/minio-webhook.d.ts +1 -2
- package/lib/files/minio/minio-webhook.js +24 -37
- package/lib/files/minio/minio-webhook.js.map +1 -1
- package/lib/payment/apple-iap/adapter.d.ts +2 -2
- package/lib/payment/apple-iap/adapter.js +89 -97
- package/lib/payment/apple-iap/adapter.js.map +1 -1
- package/lib/payment/apple-iap/index.d.ts +2 -3
- package/lib/payment/apple-iap/index.js +2 -3
- package/lib/payment/apple-iap/index.js.map +1 -1
- package/lib/payment/cryptopay/index.d.ts +2 -3
- package/lib/payment/cryptopay/index.js +2 -3
- package/lib/payment/cryptopay/index.js.map +1 -1
- package/lib/payment/cryptopay/middleware.d.ts +1 -2
- package/lib/payment/cryptopay/middleware.js +64 -69
- package/lib/payment/cryptopay/middleware.js.map +1 -1
- package/lib/payment/datatrans-v2/api/makeFetcher.d.ts +1 -1
- package/lib/payment/datatrans-v2/api/makeFetcher.js +1 -1
- package/lib/payment/datatrans-v2/api/makeFetcher.js.map +1 -1
- package/lib/payment/datatrans-v2/getPaths.d.ts +1 -1
- package/lib/payment/datatrans-v2/getPaths.js +7 -7
- package/lib/payment/datatrans-v2/getPaths.js.map +1 -1
- package/lib/payment/datatrans-v2/index.d.ts +1 -2
- package/lib/payment/datatrans-v2/index.js +1 -2
- package/lib/payment/datatrans-v2/index.js.map +1 -1
- package/lib/payment/datatrans-v2/middleware.d.ts +1 -2
- package/lib/payment/datatrans-v2/middleware.js +54 -102
- package/lib/payment/datatrans-v2/middleware.js.map +1 -1
- package/lib/payment/postfinance-checkout/index.d.ts +1 -2
- package/lib/payment/postfinance-checkout/index.js +1 -2
- package/lib/payment/postfinance-checkout/index.js.map +1 -1
- package/lib/payment/postfinance-checkout/middleware.d.ts +1 -2
- package/lib/payment/postfinance-checkout/middleware.js +31 -37
- package/lib/payment/postfinance-checkout/middleware.js.map +1 -1
- package/lib/payment/stripe.d.ts +1 -2
- package/lib/payment/stripe.js +55 -60
- package/lib/payment/stripe.js.map +1 -1
- package/lib/payment/worldline-saferpay/worldline-saferpay-client/api/SaferpayConnection.d.ts +1 -0
- package/lib/payment/worldline-saferpay/worldline-saferpay-client/api/SaferpayConnection.js +1 -1
- package/lib/payment/worldline-saferpay/worldline-saferpay-client/api/SaferpayConnection.js.map +1 -1
- package/lib/plugins-index.d.ts +61 -0
- package/lib/plugins-index.js +100 -0
- package/lib/plugins-index.js.map +1 -1
- package/lib/pricing/utils/cache.d.ts +1 -2
- package/lib/warehousing/eth-minter.js +30 -42
- package/lib/warehousing/eth-minter.js.map +1 -1
- package/lib/worker/http-request.d.ts +1 -0
- package/lib/worker/http-request.js +0 -1
- package/lib/worker/http-request.js.map +1 -1
- package/lib/worker/update-coinbase-rates.d.ts +1 -0
- package/lib/worker/update-coinbase-rates.js +0 -1
- package/lib/worker/update-coinbase-rates.js.map +1 -1
- package/lib/worker/update-ecb-rates.d.ts +1 -0
- package/lib/worker/update-ecb-rates.js +0 -1
- package/lib/worker/update-ecb-rates.js.map +1 -1
- package/lib/worker/zombie-killer.js +1 -1
- package/package.json +21 -23
- package/src/delivery/pick-mup.ts +1 -1
- package/src/files/gridfs/gridfs-adapter.ts +3 -2
- package/src/files/gridfs/gridfs-webhook.ts +40 -46
- package/src/files/minio/minio-adapter.ts +13 -8
- package/src/files/minio/minio-webhook.ts +35 -0
- package/src/payment/apple-iap/adapter.ts +104 -120
- package/src/payment/apple-iap/index.ts +2 -4
- package/src/payment/cryptopay/index.ts +2 -4
- package/src/payment/cryptopay/middleware.ts +65 -74
- package/src/payment/datatrans-v2/api/makeFetcher.ts +1 -1
- package/src/payment/datatrans-v2/getPaths.ts +12 -11
- package/src/payment/datatrans-v2/index.ts +2 -3
- package/src/payment/datatrans-v2/middleware.ts +66 -133
- package/src/payment/postfinance-checkout/index.ts +2 -3
- package/src/payment/postfinance-checkout/middleware.ts +37 -45
- package/src/payment/stripe.ts +68 -83
- package/src/payment/worldline-saferpay/worldline-saferpay-client/api/SaferpayConnection.ts +1 -2
- package/src/plugins-index.ts +147 -0
- package/src/warehousing/eth-minter.ts +36 -50
- package/src/worker/http-request.ts +1 -1
- package/src/worker/update-coinbase-rates.ts +1 -1
- package/src/worker/update-ecb-rates.ts +1 -1
- package/src/worker/zombie-killer.ts +1 -1
- package/lib/payment/bity/adapter.d.ts +0 -2
- package/lib/payment/bity/adapter.js +0 -320
- package/lib/payment/bity/adapter.js.map +0 -1
- package/lib/payment/bity/db/BityCredentialsCollection.d.ts +0 -11
- package/lib/payment/bity/db/BityCredentialsCollection.js +0 -5
- package/lib/payment/bity/db/BityCredentialsCollection.js.map +0 -1
- package/lib/payment/bity/index.d.ts +0 -3
- package/lib/payment/bity/index.js +0 -4
- package/lib/payment/bity/index.js.map +0 -1
- package/lib/payment/bity/module/configureBityModule.d.ts +0 -11
- package/lib/payment/bity/module/configureBityModule.js +0 -33
- package/lib/payment/bity/module/configureBityModule.js.map +0 -1
- package/src/files/minio/minio-webhook.js +0 -54
- package/src/payment/bity/adapter.ts +0 -421
- package/src/payment/bity/db/BityCredentialsCollection.ts +0 -17
- package/src/payment/bity/index.ts +0 -4
- package/src/payment/bity/module/configureBityModule.ts +0 -46
|
@@ -1,44 +1,38 @@
|
|
|
1
|
-
import bodyParser from 'body-parser';
|
|
2
|
-
import { useMiddlewareWithCurrentContext } from '@unchainedshop/api';
|
|
3
1
|
import { createLogger } from '@unchainedshop/logger';
|
|
4
2
|
import { getTransaction, getTransactionCompletion } from './api';
|
|
5
|
-
const { PFCHECKOUT_WEBHOOK_PATH = '/payment/postfinance-checkout' } = process.env;
|
|
6
3
|
const logger = createLogger('unchained:core-payment:postfinance-checkout');
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
res.writeHead(200);
|
|
29
|
-
res.end(`Order marked as paid: ${order.orderNumber}`);
|
|
30
|
-
}
|
|
31
|
-
catch (e) {
|
|
32
|
-
logger.error(`PostFinance Checkout Webhook: Unchained rejected to checkout with message`, e);
|
|
33
|
-
res.writeHead(500);
|
|
34
|
-
res.end(JSON.stringify({ name: e.name, code: e.code, message: e.message }));
|
|
35
|
-
}
|
|
4
|
+
export const postfinanceCheckoutHandler = async (req, res) => {
|
|
5
|
+
const context = req.unchainedContext;
|
|
6
|
+
const data = req.body;
|
|
7
|
+
if (data.listenerEntityTechnicalName === 'TransactionCompletion') {
|
|
8
|
+
try {
|
|
9
|
+
const transactionCompletion = await getTransactionCompletion(data.entityId);
|
|
10
|
+
const transaction = await getTransaction(transactionCompletion.linkedTransaction);
|
|
11
|
+
const { orderPaymentId } = transaction.metaData;
|
|
12
|
+
const orderPayment = await context.modules.orders.payments.findOrderPayment({
|
|
13
|
+
orderPaymentId,
|
|
14
|
+
});
|
|
15
|
+
if (!orderPayment)
|
|
16
|
+
throw new Error('Order Payment not found');
|
|
17
|
+
const order = await context.modules.orders.checkout(orderPayment.orderId, {
|
|
18
|
+
paymentContext: {
|
|
19
|
+
transactionId: transactionCompletion.linkedTransaction,
|
|
20
|
+
},
|
|
21
|
+
}, context);
|
|
22
|
+
logger.info(`PostFinance Checkout Webhook: Transaction ${transactionCompletion.linkedTransaction} marked order payment ID ${transaction.metaData.orderPaymentId} as paid`);
|
|
23
|
+
res.writeHead(200);
|
|
24
|
+
res.end(`Order marked as paid: ${order.orderNumber}`);
|
|
36
25
|
}
|
|
37
|
-
|
|
38
|
-
logger.error(`PostFinance Checkout Webhook:
|
|
39
|
-
res.writeHead(
|
|
40
|
-
res.end();
|
|
26
|
+
catch (e) {
|
|
27
|
+
logger.error(`PostFinance Checkout Webhook: Unchained rejected to checkout with message`, e);
|
|
28
|
+
res.writeHead(500);
|
|
29
|
+
res.end(JSON.stringify({ name: e.name, code: e.code, message: e.message }));
|
|
41
30
|
}
|
|
42
|
-
}
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
logger.error(`PostFinance Checkout Webhook: Received unknown listenerEntityTechnicalName ${data.listenerEntityTechnicalName}`);
|
|
34
|
+
res.writeHead(404);
|
|
35
|
+
res.end();
|
|
36
|
+
}
|
|
43
37
|
};
|
|
44
38
|
//# sourceMappingURL=middleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/payment/postfinance-checkout/middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/payment/postfinance-checkout/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAEjE,MAAM,MAAM,GAAG,YAAY,CAAC,6CAA6C,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,gBAA2B,CAAC;IAChD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAmB,CAAC;IACrC,IAAI,IAAI,CAAC,2BAA2B,KAAK,uBAAuB,EAAE;QAChE,IAAI;YACF,MAAM,qBAAqB,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,QAA6B,CAAC,CAAC;YACjG,MAAM,WAAW,GAAG,MAAM,cAAc,CACtC,qBAAqB,CAAC,iBAAsC,CAC7D,CAAC;YACF,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC,QAAsC,CAAC;YAC9E,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAC1E,cAAc;aACf,CAAC,CAAC;YACH,IAAI,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CACjD,YAAY,CAAC,OAAO,EACpB;gBACE,cAAc,EAAE;oBACd,aAAa,EAAE,qBAAqB,CAAC,iBAAiB;iBACvD;aACF,EACD,OAAO,CACR,CAAC;YACF,MAAM,CAAC,IAAI,CACT,6CAA6C,qBAAqB,CAAC,iBAAiB,4BAA4B,WAAW,CAAC,QAAQ,CAAC,cAAc,UAAU,CAC9J,CAAC;YACF,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;SACvD;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,KAAK,CAAC,2EAA2E,EAAE,CAAC,CAAC,CAAC;YAC7F,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAC7E;KACF;SAAM;QACL,MAAM,CAAC,KAAK,CACV,8EAA8E,IAAI,CAAC,2BAA2B,EAAE,CACjH,CAAC;QACF,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,EAAE,CAAC;KACX;AACH,CAAC,CAAC"}
|
package/lib/payment/stripe.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
declare const
|
|
2
|
-
export default _default;
|
|
1
|
+
export declare const stripeHandler: (request: any, response: any) => Promise<void>;
|
package/lib/payment/stripe.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import bodyParser from 'body-parser';
|
|
2
|
-
import { useMiddlewareWithCurrentContext } from '@unchainedshop/api';
|
|
3
1
|
import { PaymentAdapter, PaymentDirector, PaymentError } from '@unchainedshop/core-payment';
|
|
4
2
|
import { createLogger } from '@unchainedshop/logger';
|
|
5
3
|
/*
|
|
@@ -12,71 +10,68 @@ stripe trigger payment_intent.succeeded
|
|
|
12
10
|
*/
|
|
13
11
|
import createStripeClient from 'stripe';
|
|
14
12
|
const logger = createLogger('unchained:core-payment:stripe');
|
|
15
|
-
const { STRIPE_SECRET, STRIPE_ENDPOINT_SECRET, EMAIL_WEBSITE_NAME
|
|
13
|
+
const { STRIPE_SECRET, STRIPE_ENDPOINT_SECRET, EMAIL_WEBSITE_NAME } = process.env;
|
|
16
14
|
// eslint-disable-next-line
|
|
17
15
|
// @ts-ignore
|
|
18
16
|
const stripe = createStripeClient(STRIPE_SECRET);
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
17
|
+
export const stripeHandler = async (request, response) => {
|
|
18
|
+
const sig = request.headers['stripe-signature'];
|
|
19
|
+
const resolvedContext = request.unchainedContext;
|
|
20
|
+
const { modules, services } = resolvedContext;
|
|
21
|
+
let event;
|
|
22
|
+
try {
|
|
23
|
+
event = stripe.webhooks.constructEvent(request.body, sig, STRIPE_ENDPOINT_SECRET);
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
response.writeHead(400);
|
|
27
|
+
response.end(`Webhook Error: ${err.message}`);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
if (event.type === 'payment_intent.succeeded') {
|
|
32
|
+
const paymentIntent = event.data.object;
|
|
33
|
+
const orderPaymentId = paymentIntent.metadata?.orderPaymentId;
|
|
34
|
+
await modules.orders.payments.logEvent(orderPaymentId, event, resolvedContext.userId);
|
|
35
|
+
const orderPayment = await modules.orders.payments.findOrderPayment({
|
|
36
|
+
orderPaymentId,
|
|
37
|
+
});
|
|
38
|
+
const order = await modules.orders.checkout(orderPayment.orderId, {
|
|
39
|
+
transactionContext: {
|
|
40
|
+
paymentIntentId: paymentIntent.id,
|
|
41
|
+
},
|
|
42
|
+
paymentContext: {
|
|
43
|
+
paymentIntentId: paymentIntent.id,
|
|
44
|
+
},
|
|
45
|
+
}, resolvedContext);
|
|
46
|
+
logger.info(`Stripe Webhook: Unchained confirmed checkout for order ${order.orderNumber}`, {
|
|
47
|
+
orderId: order._id,
|
|
48
|
+
});
|
|
28
49
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
50
|
+
else if (event.type === 'setup_intent.succeeded') {
|
|
51
|
+
const setupIntent = event.data.object;
|
|
52
|
+
const { paymentProviderId, userId } = setupIntent.metadata;
|
|
53
|
+
await services.payment.registerPaymentCredentials(paymentProviderId, {
|
|
54
|
+
transactionContext: {
|
|
55
|
+
setupIntentId: setupIntent.id,
|
|
56
|
+
},
|
|
57
|
+
}, resolvedContext);
|
|
58
|
+
logger.info(`Stripe Webhook: Unchained registered payment credentials for ${userId}`, {
|
|
59
|
+
userId,
|
|
60
|
+
});
|
|
33
61
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const orderPaymentId = paymentIntent.metadata?.orderPaymentId;
|
|
38
|
-
await modules.orders.payments.logEvent(orderPaymentId, event, resolvedContext.userId);
|
|
39
|
-
const orderPayment = await modules.orders.payments.findOrderPayment({
|
|
40
|
-
orderPaymentId,
|
|
41
|
-
});
|
|
42
|
-
const order = await modules.orders.checkout(orderPayment.orderId, {
|
|
43
|
-
transactionContext: {
|
|
44
|
-
paymentIntentId: paymentIntent.id,
|
|
45
|
-
},
|
|
46
|
-
paymentContext: {
|
|
47
|
-
paymentIntentId: paymentIntent.id,
|
|
48
|
-
},
|
|
49
|
-
}, resolvedContext);
|
|
50
|
-
logger.info(`Stripe Webhook: Unchained confirmed checkout for order ${order.orderNumber}`, {
|
|
51
|
-
orderId: order._id,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
else if (event.type === 'setup_intent.succeeded') {
|
|
55
|
-
const setupIntent = event.data.object;
|
|
56
|
-
const { paymentProviderId, userId } = setupIntent.metadata;
|
|
57
|
-
await services.payment.registerPaymentCredentials(paymentProviderId, {
|
|
58
|
-
transactionContext: {
|
|
59
|
-
setupIntentId: setupIntent.id,
|
|
60
|
-
},
|
|
61
|
-
}, resolvedContext);
|
|
62
|
-
logger.info(`Stripe Webhook: Unchained registered payment credentials for ${userId}`, {
|
|
63
|
-
userId,
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
response.writeHead(404);
|
|
68
|
-
response.end();
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
catch (err) {
|
|
73
|
-
response.writeHead(400);
|
|
74
|
-
response.end(`Webhook Error: ${err.message}`);
|
|
62
|
+
else {
|
|
63
|
+
response.writeHead(404);
|
|
64
|
+
response.end();
|
|
75
65
|
return;
|
|
76
66
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
response.writeHead(400);
|
|
70
|
+
response.end(`Webhook Error: ${err.message}`);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
// Return a 200 response to acknowledge receipt of the event
|
|
74
|
+
response.end(JSON.stringify({ received: true }));
|
|
80
75
|
};
|
|
81
76
|
const createRegistrationIntent = async ({ userId, name, email, paymentProviderId }, options = {}) => {
|
|
82
77
|
const customer = await stripe.customers.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../src/payment/stripe.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../src/payment/stripe.ts"],"names":[],"mappings":"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"}
|
package/lib/payment/worldline-saferpay/worldline-saferpay-client/api/SaferpayConnection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaferpayConnection.js","sourceRoot":"","sources":["../../../../../src/payment/worldline-saferpay/worldline-saferpay-client/api/SaferpayConnection.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"SaferpayConnection.js","sourceRoot":"","sources":["../../../../../src/payment/worldline-saferpay/worldline-saferpay-client/api/SaferpayConnection.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,OAAO,kBAAkB;IACrB,OAAO,CAAS;IAEhB,IAAI,CAAS;IAEb,QAAQ,CAAS;IAEzB,YAAmB,OAAe,EAAE,IAAY,EAAE,QAAgB;QAChE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEO,QAAQ,CAAC,GAAW;QAC1B,OAAO,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IAC5B,CAAC;IAEO,UAAU;QAChB,OAAO;YACL,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,QAAQ,CACrF,QAAQ,CACT,EAAE;SACJ,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,IAAY;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;SAC3B,CAAC,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;CACF"}
|
package/lib/plugins-index.d.ts
CHANGED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import './delivery/post';
|
|
2
|
+
import './delivery/pick-mup';
|
|
3
|
+
import './delivery/send-message';
|
|
4
|
+
import './delivery/stores';
|
|
5
|
+
import './payment/invoice';
|
|
6
|
+
import './payment/invoice-prepaid';
|
|
7
|
+
import './payment/paypal-checkout';
|
|
8
|
+
import './payment/worldline-saferpay';
|
|
9
|
+
import './warehousing/store';
|
|
10
|
+
import './warehousing/eth-minter';
|
|
11
|
+
import './pricing/discount-half-price-manual';
|
|
12
|
+
import './pricing/discount-100-off';
|
|
13
|
+
import './pricing/free-payment';
|
|
14
|
+
import './pricing/free-delivery';
|
|
15
|
+
import './pricing/order-items';
|
|
16
|
+
import './pricing/order-discount';
|
|
17
|
+
import './pricing/order-delivery';
|
|
18
|
+
import './pricing/order-payment';
|
|
19
|
+
import './pricing/product-catalog-price';
|
|
20
|
+
import './pricing/product-price-rateconversion';
|
|
21
|
+
import './pricing/product-discount';
|
|
22
|
+
import './pricing/product-swiss-tax';
|
|
23
|
+
import './pricing/delivery-swiss-tax';
|
|
24
|
+
import './filters/strict-equal';
|
|
25
|
+
import './filters/local-search';
|
|
26
|
+
import './quotations/manual';
|
|
27
|
+
import './enrollments/licensed';
|
|
28
|
+
import './events/node-event-emitter';
|
|
29
|
+
import './worker/bulk-import';
|
|
30
|
+
import './worker/zombie-killer';
|
|
31
|
+
import './worker/message';
|
|
32
|
+
import './worker/external';
|
|
33
|
+
import './worker/http-request';
|
|
34
|
+
import './worker/heartbeat';
|
|
35
|
+
import './worker/email';
|
|
36
|
+
import './worker/sms';
|
|
37
|
+
import './worker/update-ecb-rates';
|
|
38
|
+
import './worker/update-coinbase-rates';
|
|
39
|
+
import './files/gridfs/gridfs-adapter';
|
|
40
|
+
export declare const defaultModules: {
|
|
41
|
+
appleTransactions: {
|
|
42
|
+
configure: ({ db, }: {
|
|
43
|
+
db: import("mongodb").Db;
|
|
44
|
+
}) => Promise<import("./payment/apple-iap").AppleTransactionsModule>;
|
|
45
|
+
};
|
|
46
|
+
gridfsFileUploads: {
|
|
47
|
+
configure: ({ db }: {
|
|
48
|
+
db: any;
|
|
49
|
+
}) => {
|
|
50
|
+
createWriteStream: (directoryName: any, fileId: any, fileName: any) => Promise<import("mongodb").GridFSBucketWriteStream>;
|
|
51
|
+
createReadStream: (directoryName: any, fileId: any) => Promise<import("mongodb").GridFSBucketReadStream>;
|
|
52
|
+
removeFileFromBucket: (directoryName: any, fileId: any) => Promise<void>;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
cryptopay: {
|
|
56
|
+
configure: ({ db }: {
|
|
57
|
+
db: import("mongodb").Db;
|
|
58
|
+
}) => import("./payment/cryptopay").CryptopayModule;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export declare const useDefaultMiddlewares: (unchainedApi: any, app: any) => void;
|
package/lib/plugins-index.js
CHANGED
|
@@ -1 +1,101 @@
|
|
|
1
|
+
import { useMiddlewareWithCurrentContext } from '@unchainedshop/api';
|
|
2
|
+
import bodyParser from 'body-parser';
|
|
3
|
+
// Delivery
|
|
4
|
+
import './delivery/post';
|
|
5
|
+
import './delivery/pick-mup';
|
|
6
|
+
import './delivery/send-message';
|
|
7
|
+
import './delivery/stores';
|
|
8
|
+
// Payment
|
|
9
|
+
import './payment/invoice';
|
|
10
|
+
import './payment/invoice-prepaid';
|
|
11
|
+
import './payment/paypal-checkout';
|
|
12
|
+
import './payment/worldline-saferpay';
|
|
13
|
+
import { datatransHandler } from './payment/datatrans-v2';
|
|
14
|
+
import { configureCryptopayModule, cryptopayHandler } from './payment/cryptopay';
|
|
15
|
+
import { appleIAPHandler, configureAppleTransactionsModule } from './payment/apple-iap';
|
|
16
|
+
import { stripeHandler } from './payment/stripe';
|
|
17
|
+
import { postfinanceCheckoutHandler } from './payment/postfinance-checkout';
|
|
18
|
+
// Warehousing
|
|
19
|
+
import './warehousing/store';
|
|
20
|
+
import './warehousing/eth-minter';
|
|
21
|
+
// Pricing
|
|
22
|
+
import './pricing/discount-half-price-manual';
|
|
23
|
+
import './pricing/discount-100-off';
|
|
24
|
+
import './pricing/free-payment';
|
|
25
|
+
import './pricing/free-delivery';
|
|
26
|
+
import './pricing/order-items';
|
|
27
|
+
import './pricing/order-discount';
|
|
28
|
+
import './pricing/order-delivery';
|
|
29
|
+
import './pricing/order-payment';
|
|
30
|
+
import './pricing/product-catalog-price';
|
|
31
|
+
import './pricing/product-price-rateconversion';
|
|
32
|
+
import './pricing/product-discount';
|
|
33
|
+
import './pricing/product-swiss-tax';
|
|
34
|
+
import './pricing/delivery-swiss-tax';
|
|
35
|
+
// Filter & Search
|
|
36
|
+
import './filters/strict-equal';
|
|
37
|
+
import './filters/local-search';
|
|
38
|
+
// Quotations
|
|
39
|
+
import './quotations/manual';
|
|
40
|
+
// Enrollments
|
|
41
|
+
import './enrollments/licensed';
|
|
42
|
+
// Event Queue
|
|
43
|
+
import './events/node-event-emitter';
|
|
44
|
+
// Workers
|
|
45
|
+
import './worker/bulk-import';
|
|
46
|
+
import './worker/zombie-killer';
|
|
47
|
+
import './worker/message';
|
|
48
|
+
import './worker/external';
|
|
49
|
+
import './worker/http-request';
|
|
50
|
+
import './worker/heartbeat';
|
|
51
|
+
import './worker/email';
|
|
52
|
+
import './worker/sms';
|
|
53
|
+
import './worker/update-ecb-rates';
|
|
54
|
+
import './worker/update-coinbase-rates';
|
|
55
|
+
import { configureExportToken } from './worker/export-token';
|
|
56
|
+
import { configureGenerateOrderAutoscheduling } from './worker/enrollment-order-generator';
|
|
57
|
+
import { configureUpdateTokenOwnership } from './worker/update-token-ownership';
|
|
58
|
+
// Asset Management
|
|
59
|
+
import './files/gridfs/gridfs-adapter';
|
|
60
|
+
import { gridfsHandler } from './files/gridfs/gridfs-webhook';
|
|
61
|
+
import { configureGridFSFileUploadModule } from './files/gridfs';
|
|
62
|
+
const { CRYPTOPAY_WEBHOOK_PATH = '/payment/cryptopay', STRIPE_WEBHOOK_PATH = '/payment/stripe', PFCHECKOUT_WEBHOOK_PATH = '/payment/postfinance-checkout', DATATRANS_WEBHOOK_PATH = '/payment/datatrans/webhook', APPLE_IAP_WEBHOOK_PATH = '/payment/apple-iap',
|
|
63
|
+
// MINIO_PUT_SERVER_PATH = '/minio',
|
|
64
|
+
GRIDFS_PUT_SERVER_PATH = '/gridfs', } = process.env;
|
|
65
|
+
// import './files/minio/minio-adapter';
|
|
66
|
+
// import { minioHandler } from './files/minio/minio-webhook';
|
|
67
|
+
export const defaultModules = {
|
|
68
|
+
appleTransactions: {
|
|
69
|
+
configure: configureAppleTransactionsModule,
|
|
70
|
+
},
|
|
71
|
+
gridfsFileUploads: {
|
|
72
|
+
configure: configureGridFSFileUploadModule,
|
|
73
|
+
},
|
|
74
|
+
cryptopay: {
|
|
75
|
+
configure: configureCryptopayModule,
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
export const useDefaultMiddlewares = (unchainedApi, app) => {
|
|
79
|
+
useMiddlewareWithCurrentContext(app, GRIDFS_PUT_SERVER_PATH, gridfsHandler);
|
|
80
|
+
useMiddlewareWithCurrentContext(app, CRYPTOPAY_WEBHOOK_PATH, bodyParser.json(), cryptopayHandler);
|
|
81
|
+
useMiddlewareWithCurrentContext(app, STRIPE_WEBHOOK_PATH, bodyParser.raw({ type: 'application/json' }), stripeHandler);
|
|
82
|
+
useMiddlewareWithCurrentContext(app, PFCHECKOUT_WEBHOOK_PATH, bodyParser.json(), postfinanceCheckoutHandler);
|
|
83
|
+
useMiddlewareWithCurrentContext(app, DATATRANS_WEBHOOK_PATH, bodyParser.text({
|
|
84
|
+
type: 'application/json',
|
|
85
|
+
}), datatransHandler);
|
|
86
|
+
useMiddlewareWithCurrentContext(app, APPLE_IAP_WEBHOOK_PATH, bodyParser.json({
|
|
87
|
+
strict: false,
|
|
88
|
+
}), appleIAPHandler);
|
|
89
|
+
// useMiddlewareWithCurrentContext(
|
|
90
|
+
// app,
|
|
91
|
+
// MINIO_PUT_SERVER_PATH,
|
|
92
|
+
// bodyParser.json({
|
|
93
|
+
// strict: false,
|
|
94
|
+
// }),
|
|
95
|
+
// minioHandler
|
|
96
|
+
// );
|
|
97
|
+
configureExportToken(unchainedApi);
|
|
98
|
+
configureUpdateTokenOwnership(unchainedApi);
|
|
99
|
+
configureGenerateOrderAutoscheduling();
|
|
100
|
+
};
|
|
1
101
|
//# sourceMappingURL=plugins-index.js.map
|
package/lib/plugins-index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins-index.js","sourceRoot":"","sources":["../src/plugins-index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"plugins-index.js","sourceRoot":"","sources":["../src/plugins-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,18 @@ const ETHMinter = {
|
|
|
14
14
|
},
|
|
15
15
|
actions: (configuration, context) => {
|
|
16
16
|
const { product, orderPosition, token, modules, localeContext } = context;
|
|
17
|
+
const getTokensCreated = async () => {
|
|
18
|
+
const existingTokens = await modules.warehousing.findTokens(product.tokenization.contractStandard === ProductContractStandard.ERC721
|
|
19
|
+
? { contractAddress: product.tokenization.contractAddress }
|
|
20
|
+
: {
|
|
21
|
+
contractAddress: product.tokenization.contractAddress,
|
|
22
|
+
chainTokenId: product.tokenization.tokenId,
|
|
23
|
+
});
|
|
24
|
+
const tokensCreated = existingTokens.reduce((acc, curToken) => {
|
|
25
|
+
return acc + curToken.quantity;
|
|
26
|
+
}, 0);
|
|
27
|
+
return tokensCreated;
|
|
28
|
+
};
|
|
17
29
|
return {
|
|
18
30
|
...WarehousingAdapter.actions(configuration, context),
|
|
19
31
|
isActive() {
|
|
@@ -23,15 +35,7 @@ const ETHMinter = {
|
|
|
23
35
|
return null;
|
|
24
36
|
},
|
|
25
37
|
stock: async () => {
|
|
26
|
-
const
|
|
27
|
-
? { contractAddress: product.tokenization.contractAddress }
|
|
28
|
-
: {
|
|
29
|
-
contractAddress: product.tokenization.contractAddress,
|
|
30
|
-
chainTokenId: product.tokenization.tokenId,
|
|
31
|
-
});
|
|
32
|
-
const tokensCreated = existingTokens.reduce((acc, curToken) => {
|
|
33
|
-
return acc + curToken.quantity;
|
|
34
|
-
}, 0);
|
|
38
|
+
const tokensCreated = await getTokensCreated();
|
|
35
39
|
return product?.tokenization?.supply ? product.tokenization.supply - tokensCreated : 0;
|
|
36
40
|
},
|
|
37
41
|
tokenize: async () => {
|
|
@@ -42,15 +46,7 @@ const ETHMinter = {
|
|
|
42
46
|
const { contractAddress, contractStandard, tokenId } = product?.tokenization || {};
|
|
43
47
|
const _id = generateDbObjectId();
|
|
44
48
|
const meta = { contractStandard };
|
|
45
|
-
const
|
|
46
|
-
? { contractAddress: product.tokenization.contractAddress }
|
|
47
|
-
: {
|
|
48
|
-
contractAddress: product.tokenization.contractAddress,
|
|
49
|
-
chainTokenId: product.tokenization.tokenId,
|
|
50
|
-
});
|
|
51
|
-
const tokensCreated = existingTokens.reduce((acc, curToken) => {
|
|
52
|
-
return acc + curToken.quantity;
|
|
53
|
-
}, 0);
|
|
49
|
+
const tokensCreated = await getTokensCreated();
|
|
54
50
|
if (contractStandard === 'ERC721') {
|
|
55
51
|
// ERC721 is non-fungible, thus every _id unique!
|
|
56
52
|
return new Array(orderPosition?.quantity).fill(null).map((_, i) => ({
|
|
@@ -74,12 +70,9 @@ const ETHMinter = {
|
|
|
74
70
|
},
|
|
75
71
|
];
|
|
76
72
|
},
|
|
77
|
-
tokenMetadata: async () => {
|
|
78
|
-
//
|
|
79
|
-
//
|
|
80
|
-
// -> use the contract to get the correct metadata uri from tokenId
|
|
81
|
-
// depending on the ERC, build the correct metadata json schema
|
|
82
|
-
// https://eips.ethereum.org/EIPS/eip-1155
|
|
73
|
+
tokenMetadata: async (chainTokenId) => {
|
|
74
|
+
// Metadata standards supported
|
|
75
|
+
// https://eips.ethereum.org/EIPS/eip-1155 (backward compatible with 721)
|
|
83
76
|
// https://eips.ethereum.org/EIPS/eip-721
|
|
84
77
|
const allLanguages = await modules.languages.findLanguages({
|
|
85
78
|
includeInactive: false,
|
|
@@ -94,27 +87,22 @@ const ETHMinter = {
|
|
|
94
87
|
productId: product._id,
|
|
95
88
|
locale: localeContext.normalized,
|
|
96
89
|
});
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return {
|
|
107
|
-
name: `${text.title} #${token.chainTokenId}`,
|
|
108
|
-
description: text.description,
|
|
109
|
-
image: url,
|
|
110
|
-
properties: product.meta,
|
|
111
|
-
localization,
|
|
112
|
-
};
|
|
113
|
-
}
|
|
90
|
+
const name = `${text.title} #${chainTokenId}`;
|
|
91
|
+
const isDefaultLanguageActive = localeContext.language === systemLocale.language;
|
|
92
|
+
const localization = isDefaultLanguageActive
|
|
93
|
+
? {
|
|
94
|
+
uri: `${process.env.ROOT_URL}/erc-metadata/${product._id}/{locale}/${product.tokenization.tokenId}.json`,
|
|
95
|
+
default: systemLocale.language,
|
|
96
|
+
locales: allLanguages.map((lang) => lang.isoCode),
|
|
97
|
+
}
|
|
98
|
+
: undefined;
|
|
114
99
|
return {
|
|
115
|
-
name
|
|
100
|
+
name,
|
|
116
101
|
description: text.description,
|
|
117
102
|
image: url,
|
|
103
|
+
properties: product.tokenization.ercMetadataProperties,
|
|
104
|
+
localization,
|
|
105
|
+
...(token?.meta || {}),
|
|
118
106
|
};
|
|
119
107
|
},
|
|
120
108
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eth-minter.js","sourceRoot":"","sources":["../../src/warehousing/eth-minter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAExE,MAAM,EAAE,mBAAmB,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAElD,MAAM,SAAS,GAAwB;IACrC,GAAG,kBAAkB;IAErB,GAAG,EAAE,4CAA4C;IACjD,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,iBAAiB;IACxB,UAAU,EAAE,CAAC;IAEb,oBAAoB,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAEtD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;QACtB,OAAO,IAAI,KAAK,uBAAuB,CAAC,OAAO,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"eth-minter.js","sourceRoot":"","sources":["../../src/warehousing/eth-minter.ts"],"names":[],"mappings":"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"}
|