@unchainedshop/core-payment 4.8.21 → 4.8.23
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.
|
@@ -7,7 +7,7 @@ export declare const configurePaymentModule: ({ db, options: paymentOptions, }:
|
|
|
7
7
|
paymentProviderId: string;
|
|
8
8
|
}, options?: import("mongodb").FindOptions) => Promise<import("../db/PaymentProvidersCollection.ts").PaymentProvider | null>;
|
|
9
9
|
findProviders: (query?: import("./configurePaymentProvidersModule.ts").PaymentProviderQuery, options?: import("mongodb").FindOptions) => Promise<import("../db/PaymentProvidersCollection.ts").PaymentProvider[]>;
|
|
10
|
-
allProviders: ()
|
|
10
|
+
allProviders: import("@unchainedshop/utils/lib/memoize-with-ttl.js").MemoizedWithTTL<[], import("mongodb").WithId<import("../db/PaymentProvidersCollection.ts").PaymentProvider>[]>;
|
|
11
11
|
providerExists: ({ paymentProviderId }: {
|
|
12
12
|
paymentProviderId: string;
|
|
13
13
|
}) => Promise<boolean>;
|
|
@@ -18,7 +18,7 @@ export declare const configurePaymentProvidersModule: (PaymentProviders: mongodb
|
|
|
18
18
|
paymentProviderId: string;
|
|
19
19
|
}, options?: mongodb.FindOptions) => Promise<PaymentProvider | null>;
|
|
20
20
|
findProviders: (query?: PaymentProviderQuery, options?: mongodb.FindOptions) => Promise<PaymentProvider[]>;
|
|
21
|
-
allProviders: ()
|
|
21
|
+
allProviders: import("@unchainedshop/utils/lib/memoize-with-ttl.js").MemoizedWithTTL<[], mongodb.WithId<PaymentProvider>[]>;
|
|
22
22
|
providerExists: ({ paymentProviderId }: {
|
|
23
23
|
paymentProviderId: string;
|
|
24
24
|
}) => Promise<boolean>;
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { emit, registerEvents } from '@unchainedshop/events';
|
|
2
2
|
import { generateDbFilterById, generateDbObjectId, mongodb, escapeRegexString, } from '@unchainedshop/mongodb';
|
|
3
|
-
import
|
|
4
|
-
import ExpiryMap from 'expiry-map';
|
|
3
|
+
import { memoizeWithTTL } from '@unchainedshop/utils';
|
|
5
4
|
const PAYMENT_PROVIDER_EVENTS = [
|
|
6
5
|
'PAYMENT_PROVIDER_CREATE',
|
|
7
6
|
'PAYMENT_PROVIDER_UPDATE',
|
|
8
7
|
'PAYMENT_PROVIDER_REMOVE',
|
|
9
8
|
];
|
|
10
|
-
const allProvidersCache = new ExpiryMap(process.env.NODE_ENV === 'production' ? 60000 : 1);
|
|
11
9
|
export const buildFindSelector = ({ includeDeleted = false, queryString, paymentProviderIds, type, } = {}) => {
|
|
12
10
|
const selector = includeDeleted ? {} : { deleted: null };
|
|
13
11
|
if (paymentProviderIds) {
|
|
@@ -24,6 +22,7 @@ export const buildFindSelector = ({ includeDeleted = false, queryString, payment
|
|
|
24
22
|
};
|
|
25
23
|
export const configurePaymentProvidersModule = (PaymentProviders) => {
|
|
26
24
|
registerEvents(PAYMENT_PROVIDER_EVENTS);
|
|
25
|
+
const allProviders = memoizeWithTTL(async () => PaymentProviders.find({ deleted: null }, { sort: { created: 1 } }).toArray(), { ttl: process.env.NODE_ENV === 'production' ? 60000 : 1 });
|
|
27
26
|
return {
|
|
28
27
|
count: async (query = {}) => {
|
|
29
28
|
const providerCount = await PaymentProviders.countDocuments(buildFindSelector(query));
|
|
@@ -36,11 +35,7 @@ export const configurePaymentProvidersModule = (PaymentProviders) => {
|
|
|
36
35
|
const providers = PaymentProviders.find(buildFindSelector(query), options);
|
|
37
36
|
return providers.toArray();
|
|
38
37
|
},
|
|
39
|
-
allProviders
|
|
40
|
-
return PaymentProviders.find({ deleted: null }, { sort: { created: 1 } }).toArray();
|
|
41
|
-
}, {
|
|
42
|
-
cache: allProvidersCache,
|
|
43
|
-
}),
|
|
38
|
+
allProviders,
|
|
44
39
|
providerExists: async ({ paymentProviderId }) => {
|
|
45
40
|
const providerCount = await PaymentProviders.countDocuments(generateDbFilterById(paymentProviderId, { deleted: null }), { limit: 1 });
|
|
46
41
|
return !!providerCount;
|
|
@@ -52,7 +47,7 @@ export const configurePaymentProvidersModule = (PaymentProviders) => {
|
|
|
52
47
|
...doc,
|
|
53
48
|
});
|
|
54
49
|
const paymentProvider = (await PaymentProviders.findOne(generateDbFilterById(paymentProviderId), {}));
|
|
55
|
-
|
|
50
|
+
allProviders.clear();
|
|
56
51
|
await emit('PAYMENT_PROVIDER_CREATE', { paymentProvider });
|
|
57
52
|
return paymentProvider;
|
|
58
53
|
},
|
|
@@ -65,7 +60,7 @@ export const configurePaymentProvidersModule = (PaymentProviders) => {
|
|
|
65
60
|
}, { returnDocument: 'after' });
|
|
66
61
|
if (!paymentProvider)
|
|
67
62
|
return null;
|
|
68
|
-
|
|
63
|
+
allProviders.clear();
|
|
69
64
|
await emit('PAYMENT_PROVIDER_UPDATE', { paymentProvider });
|
|
70
65
|
return paymentProvider;
|
|
71
66
|
},
|
|
@@ -77,7 +72,7 @@ export const configurePaymentProvidersModule = (PaymentProviders) => {
|
|
|
77
72
|
}, { returnDocument: 'after' });
|
|
78
73
|
if (!paymentProvider)
|
|
79
74
|
return null;
|
|
80
|
-
|
|
75
|
+
allProviders.clear();
|
|
81
76
|
await emit('PAYMENT_PROVIDER_REMOVE', { paymentProvider });
|
|
82
77
|
return paymentProvider;
|
|
83
78
|
},
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/core-payment",
|
|
3
3
|
"description": "Payment provider management module for the Unchained Engine",
|
|
4
|
-
"version": "4.8.
|
|
4
|
+
"version": "4.8.23",
|
|
5
5
|
"main": "lib/payment-index.js",
|
|
6
6
|
"types": "lib/payment-index.d.ts",
|
|
7
7
|
"type": "module",
|
|
@@ -36,10 +36,8 @@
|
|
|
36
36
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@unchainedshop/events": "^4.8.12",
|
|
39
|
-
"@unchainedshop/
|
|
40
|
-
"@unchainedshop/utils": "^4.8.12"
|
|
41
|
-
"expiry-map": "^2.0.0",
|
|
42
|
-
"p-memoize": "^8.0.0"
|
|
39
|
+
"@unchainedshop/mongodb": "^4.8.12",
|
|
40
|
+
"@unchainedshop/utils": "^4.8.12"
|
|
43
41
|
},
|
|
44
42
|
"devDependencies": {
|
|
45
43
|
"@types/node": "^26.2.0",
|