cabloy 5.1.127 → 5.1.129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/.cabloy-version +1 -1
  2. package/CHANGELOG.md +23 -0
  3. package/cabloy-docs/backend/i18n-guide.md +86 -7
  4. package/e2e/specs/a-commerce/commerce.spec.ts +93 -8
  5. package/package.json +1 -1
  6. package/vona/env/.env +2 -0
  7. package/vona/env/.env.prod +6 -2
  8. package/vona/packages-cli/cabloy-cli/package.json +1 -1
  9. package/vona/packages-cli/cli/package.json +1 -1
  10. package/vona/packages-cli/cli-set-api/package.json +1 -1
  11. package/vona/packages-utils/module-glob/package.json +1 -1
  12. package/vona/packages-utils/utils/package.json +1 -1
  13. package/vona/packages-utils/utils/src/vona.ts +8 -1
  14. package/vona/packages-vona/vona/package.json +1 -1
  15. package/vona/packages-vona/vona-core/package.json +1 -1
  16. package/vona/packages-vona/vona-mock/package.json +1 -1
  17. package/vona/pnpm-lock.yaml +142 -21
  18. package/vona/pnpm-workspace.yaml +1 -1
  19. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/.metadata/index.ts +1 -1
  20. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/dto/productSelectResItem.tsx +3 -1
  21. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/dto/productView.tsx +3 -1
  22. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/entity/product.tsx +23 -3
  23. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/model/product.ts +1 -0
  24. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/service/product.ts +7 -2
  25. package/vona/src/suite/a-commerce/modules/commerce-catalog/test/productPresentation.test.ts +214 -0
  26. package/vona/src/suite/a-commerce/modules/commerce-payment/src/bean/payScene.commerceOrder.ts +39 -3
  27. package/vona/src/suite/a-commerce/modules/commerce-payment/src/service/commercePayScene.ts +14 -1
  28. package/vona/src/suite/a-commerce/modules/commerce-payment/src/service/paymentAttempt.ts +5 -1
  29. package/vona/src/suite/a-commerce/modules/commerce-trade/src/.metadata/index.ts +17 -0
  30. package/vona/src/suite/a-commerce/modules/commerce-trade/src/controller/checkout.ts +18 -0
  31. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/checkoutCreate.tsx +3 -0
  32. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/checkoutPaymentMethod.tsx +19 -0
  33. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/checkoutPaymentMethods.tsx +17 -0
  34. package/vona/src/suite/a-commerce/modules/commerce-trade/src/service/order.ts +51 -0
  35. package/vona/src/suite/a-commerce/modules/commerce-trade/test/paymentOutcome.test.ts +2 -1
  36. package/vona/src/suite-vendor/a-pay/modules/a-pay/package.json +1 -1
  37. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/.metadata/index.ts +94 -55
  38. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/bean.payScene.ts +65 -1
  39. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/meta.redlock.ts +2 -0
  40. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/controller/paymentCallback.ts +32 -0
  41. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/controller/paymentSession.ts +26 -8
  42. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/paymentCallback.ts +99 -0
  43. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/paymentSession.ts +26 -3
  44. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/providerOperation.ts +214 -82
  45. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/refundOperation.ts +27 -2
  46. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/types/payScene.ts +9 -0
  47. package/vona/src/suite-vendor/a-pay/modules/a-pay/src/types/payment.ts +5 -0
  48. package/vona/src/suite-vendor/a-pay/modules/pay-mock/package.json +1 -1
  49. package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/bean/payProvider.mock.ts +7 -0
  50. package/vona/src/suite-vendor/a-pay/modules/pay-paypal/package.json +1 -1
  51. package/vona/src/suite-vendor/a-pay/modules/pay-paypal/src/bean/payProvider.paypal.ts +395 -84
  52. package/vona/src/suite-vendor/a-pay/modules/pay-paypal/src/lib/index.ts +1 -1
  53. package/vona/src/suite-vendor/a-pay/modules/pay-paypal/src/lib/paypalGateway.ts +129 -0
  54. package/vona/src/suite-vendor/a-pay/modules/pay-paypal/src/types/index.ts +2 -0
  55. package/vona/src/suite-vendor/a-pay/modules/pay-stripe/package.json +1 -1
  56. package/vona/src/suite-vendor/a-pay/modules/pay-stripe/src/bean/payProvider.stripe.ts +7 -0
  57. package/vona/src/suite-vendor/a-pay/package.json +5 -5
  58. package/vona/src/suite-vendor/a-vona/modules/a-core/package.json +1 -1
  59. package/vona/src/suite-vendor/a-vona/package.json +1 -1
  60. package/zova/packages-cli/cli/package.json +3 -3
  61. package/zova/packages-cli/cli-set-front/package.json +4 -4
  62. package/zova/packages-utils/zova-jsx/package.json +3 -3
  63. package/zova/packages-utils/zova-vite/package.json +2 -2
  64. package/zova/packages-zova/zova/package.json +3 -3
  65. package/zova/packages-zova/zova-core/package.json +2 -2
  66. package/zova/pnpm-lock.yaml +41 -41
  67. package/zova/src/suite/a-commerce/modules/commerce-member/src/api/openapi/schemas.ts +8 -0
  68. package/zova/src/suite/a-commerce/modules/commerce-member/src/api/openapi/types.ts +175 -0
  69. package/zova/src/suite/a-commerce/modules/commerce-trade/cli/openapi.config.ts +1 -0
  70. package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/commerceTradeCheckout.ts +16 -0
  71. package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/schemas.ts +8 -0
  72. package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/types.ts +177 -2
  73. package/zova/src/suite/a-commerce/modules/commerce-trade/src/apiSchema/commerceTradeCheckout.ts +12 -1
  74. package/zova/src/suite/a-commerce/modules/commerce-trade/src/model/cart.ts +11 -0
  75. package/zova/src/suite/a-commerce/modules/commerce-trade/src/page/checkout/controller.tsx +25 -1
  76. package/zova/src/suite/a-commerce/modules/commerce-trade/src/page/payment/controller.tsx +27 -4
  77. package/zova/src/suite-vendor/a-pay/modules/a-pay/cli/openapi.config.ts +1 -1
  78. package/zova/src/suite-vendor/a-pay/modules/a-pay/package.json +1 -1
  79. package/zova/src/suite-vendor/a-pay/modules/a-pay/src/api/openapi/schemas.ts +20 -8
  80. package/zova/src/suite-vendor/a-pay/modules/a-pay/src/api/openapi/types.ts +292 -32
  81. package/zova/src/suite-vendor/a-pay/modules/a-pay/src/api/paymentSession.ts +26 -4
  82. package/zova/src/suite-vendor/a-pay/modules/a-pay/src/apiSchema/paymentSession.ts +5 -0
  83. package/zova/src/suite-vendor/a-pay/modules/a-pay/src/component/paymentNextAction/controller.tsx +2 -1
  84. package/zova/src/suite-vendor/a-pay/modules/a-pay/src/model/paymentSession.ts +12 -0
  85. package/zova/src/suite-vendor/a-pay/package.json +2 -2
  86. package/zova/src/suite-vendor/a-zova/modules/a-zova/package.json +4 -4
  87. package/zova/src/suite-vendor/a-zova/package.json +2 -2
  88. /package/vona/patches/{zova-core@5.1.81.patch → zova-core@5.1.82.patch} +0 -0
@@ -0,0 +1,129 @@
1
+ import {
2
+ Client,
3
+ Environment,
4
+ OrdersController,
5
+ PaymentsController,
6
+ } from '@cabloy/paypal-server-sdk';
7
+
8
+ export interface IPaypalGatewayOptions {
9
+ environment: 'sandbox' | 'live';
10
+ clientId: string;
11
+ clientSecret: string;
12
+ webhookId: string;
13
+ }
14
+
15
+ export interface IPaypalGateway {
16
+ createOrder(options: IPaypalGatewayOptions, input: unknown): Promise<unknown>;
17
+ captureOrder(options: IPaypalGatewayOptions, input: unknown): Promise<unknown>;
18
+ getOrder(options: IPaypalGatewayOptions, input: unknown): Promise<unknown>;
19
+ refundCapturedPayment(options: IPaypalGatewayOptions, input: unknown): Promise<unknown>;
20
+ getRefund(options: IPaypalGatewayOptions, input: unknown): Promise<unknown>;
21
+ verifyWebhookSignature(
22
+ options: IPaypalGatewayOptions,
23
+ input: { headers: Record<string, string | string[] | undefined>; body: unknown },
24
+ ): Promise<void>;
25
+ }
26
+
27
+ export class PaypalGatewayError extends Error {
28
+ constructor(
29
+ readonly status: number,
30
+ message: string,
31
+ ) {
32
+ super(message);
33
+ }
34
+ }
35
+
36
+ export function createPaypalGateway(fetcher: typeof fetch): IPaypalGateway {
37
+ return {
38
+ async createOrder(options, input) {
39
+ return (await new OrdersController(createClient(options)).createOrder(input as never)).result;
40
+ },
41
+ async captureOrder(options, input) {
42
+ return (await new OrdersController(createClient(options)).captureOrder(input as never))
43
+ .result;
44
+ },
45
+ async getOrder(options, input) {
46
+ return (await new OrdersController(createClient(options)).getOrder(input as never)).result;
47
+ },
48
+ async refundCapturedPayment(options, input) {
49
+ return (
50
+ await new PaymentsController(createClient(options)).refundCapturedPayment(input as never)
51
+ ).result;
52
+ },
53
+ async getRefund(options, input) {
54
+ return (await new PaymentsController(createClient(options)).getRefund(input as never)).result;
55
+ },
56
+ async verifyWebhookSignature(options, input) {
57
+ const transmissionId = getHeader(input.headers, 'paypal-transmission-id');
58
+ const transmissionTime = getHeader(input.headers, 'paypal-transmission-time');
59
+ const certUrl = getHeader(input.headers, 'paypal-cert-url');
60
+ const authAlgo = getHeader(input.headers, 'paypal-auth-algo');
61
+ const transmissionSig = getHeader(input.headers, 'paypal-transmission-sig');
62
+ if (!transmissionId || !transmissionTime || !certUrl || !authAlgo || !transmissionSig) {
63
+ throw new PaypalGatewayError(401, 'PayPal webhook transmission headers are invalid');
64
+ }
65
+ const apiBaseUrl =
66
+ options.environment === 'sandbox'
67
+ ? 'https://api-m.sandbox.paypal.com'
68
+ : 'https://api-m.paypal.com';
69
+ const tokenResponse = await fetcher(`${apiBaseUrl}/v1/oauth2/token`, {
70
+ method: 'POST',
71
+ headers: {
72
+ 'authorization': `Basic ${Buffer.from(`${options.clientId}:${options.clientSecret}`).toString('base64')}`,
73
+ 'content-type': 'application/x-www-form-urlencoded',
74
+ },
75
+ body: 'grant_type=client_credentials',
76
+ });
77
+ const token = asRecord(tokenResponse.ok ? await tokenResponse.json() : undefined);
78
+ const accessToken = readString(token.access_token);
79
+ if (!accessToken) {
80
+ throw new PaypalGatewayError(401, 'PayPal webhook verification authentication failed');
81
+ }
82
+ const response = await fetcher(`${apiBaseUrl}/v1/notifications/verify-webhook-signature`, {
83
+ method: 'POST',
84
+ headers: {
85
+ 'authorization': `Bearer ${accessToken}`,
86
+ 'content-type': 'application/json',
87
+ },
88
+ body: JSON.stringify({
89
+ auth_algo: authAlgo,
90
+ cert_url: certUrl,
91
+ transmission_id: transmissionId,
92
+ transmission_sig: transmissionSig,
93
+ transmission_time: transmissionTime,
94
+ webhook_id: options.webhookId,
95
+ webhook_event: input.body,
96
+ }),
97
+ });
98
+ if (!response.ok) throw new PaypalGatewayError(401, 'PayPal webhook verification failed');
99
+ const result = asRecord(await response.json());
100
+ if (readString(result.verification_status) !== 'SUCCESS') {
101
+ throw new PaypalGatewayError(401, 'PayPal webhook signature is invalid');
102
+ }
103
+ },
104
+ };
105
+ }
106
+
107
+ function createClient(options: IPaypalGatewayOptions) {
108
+ return new Client({
109
+ clientCredentialsAuthCredentials: {
110
+ oAuthClientId: options.clientId,
111
+ oAuthClientSecret: options.clientSecret,
112
+ },
113
+ timeout: 0,
114
+ environment: options.environment === 'live' ? Environment.Production : Environment.Sandbox,
115
+ });
116
+ }
117
+
118
+ function asRecord(value: unknown): Record<string, unknown> {
119
+ return value && typeof value === 'object' ? (value as Record<string, unknown>) : {};
120
+ }
121
+
122
+ function readString(value: unknown): string | undefined {
123
+ return typeof value === 'string' && value ? value : undefined;
124
+ }
125
+
126
+ function getHeader(headers: Record<string, string | string[] | undefined>, key: string) {
127
+ const value = headers[key];
128
+ return Array.isArray(value) ? value[0] : value;
129
+ }
@@ -3,6 +3,8 @@ declare module 'vona' {
3
3
  PAYPAL_CLIENT_ID: string | undefined;
4
4
  PAYPAL_CLIENT_SECRET: string | undefined;
5
5
  PAYPAL_WEBHOOK_ID: string | undefined;
6
+ PAYPAL_MERCHANT_REFERENCE: string | undefined;
7
+ PAYPAL_ENVIRONMENT: 'sandbox' | 'live';
6
8
  }
7
9
  }
8
10
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-pay-stripe",
3
- "version": "5.0.3",
3
+ "version": "5.0.4",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "Vona Module"
@@ -59,6 +59,13 @@ export class PayProviderStripe
59
59
  this.app.throw(501, 'Stripe provider is not implemented');
60
60
  }
61
61
 
62
+ async confirmPayment(
63
+ _input: IPayProviderPaymentInput,
64
+ _clientOptions: IPayProviderStripeClientOptions,
65
+ ): Promise<IPayProviderPaymentSnapshot> {
66
+ this.app.throw(501, 'Stripe provider is not implemented');
67
+ }
68
+
62
69
  async queryPayment(
63
70
  _input: IPayProviderPaymentInput,
64
71
  _clientOptions: IPayProviderStripeClientOptions,
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "vona-suite-a-pay",
3
- "version": "5.0.3",
3
+ "version": "5.0.4",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "files": [],
7
7
  "type": "module",
8
8
  "dependencies": {
9
- "vona-module-a-pay": "^5.0.3",
10
- "vona-module-pay-mock": "^5.0.3",
11
- "vona-module-pay-paypal": "^5.0.3",
12
- "vona-module-pay-stripe": "^5.0.3"
9
+ "vona-module-a-pay": "^5.0.4",
10
+ "vona-module-pay-mock": "^5.0.4",
11
+ "vona-module-pay-paypal": "^5.0.4",
12
+ "vona-module-pay-stripe": "^5.0.4"
13
13
  },
14
14
  "title": "a-pay"
15
15
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-module-a-core",
3
- "version": "5.1.48",
3
+ "version": "5.1.49",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "keywords": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vona-suite-a-vona",
3
- "version": "5.1.77",
3
+ "version": "5.1.78",
4
4
  "gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
5
5
  "description": "",
6
6
  "author": "",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-cli",
3
- "version": "1.2.101",
3
+ "version": "1.2.102",
4
4
  "gitHead": "6f675a8cc46d596142c591c28a40cc4d82fcc6cc",
5
5
  "description": "zova cli",
6
6
  "keywords": [
@@ -40,11 +40,11 @@
40
40
  "postpack": "clean-package restore"
41
41
  },
42
42
  "dependencies": {
43
- "@cabloy/cli": "^3.1.28",
43
+ "@cabloy/cli": "^3.1.29",
44
44
  "@cabloy/process-helper": "^3.1.8",
45
45
  "fs-extra": "^11.3.5",
46
46
  "semver": "^7.6.2",
47
- "zova-cli-set-front": "^1.2.99"
47
+ "zova-cli-set-front": "^1.2.100"
48
48
  },
49
49
  "devDependencies": {
50
50
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-cli-set-front",
3
- "version": "1.2.99",
3
+ "version": "1.2.100",
4
4
  "gitHead": "6f675a8cc46d596142c591c28a40cc4d82fcc6cc",
5
5
  "description": "zova cli-set-front",
6
6
  "keywords": [
@@ -41,11 +41,11 @@
41
41
  "@babel/plugin-proposal-decorators": "^7.29.0",
42
42
  "@babel/plugin-transform-class-properties": "^7.28.6",
43
43
  "@babel/plugin-transform-typescript": "^7.28.6",
44
- "@cabloy/cli": "^3.1.28",
44
+ "@cabloy/cli": "^3.1.29",
45
45
  "@cabloy/extend": "^3.2.8",
46
46
  "@cabloy/module-info": "^2.0.3",
47
47
  "@cabloy/openapi-typescript": "^7.9.2",
48
- "@cabloy/utils": "^2.1.26",
48
+ "@cabloy/utils": "^2.1.27",
49
49
  "@cabloy/vite-plugin-babel": "^1.3.3",
50
50
  "@cabloy/vue-babel-plugin-jsx": "^2.0.1",
51
51
  "@cabloy/word-utils": "^2.1.14",
@@ -70,7 +70,7 @@
70
70
  "vite": "^8.0.14",
71
71
  "yaml": "^2.8.3",
72
72
  "zova-openapi": "^1.1.17",
73
- "zova-vite": "^1.1.43"
73
+ "zova-vite": "^1.1.44"
74
74
  },
75
75
  "devDependencies": {
76
76
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-jsx",
3
- "version": "1.1.81",
3
+ "version": "1.1.82",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "Zova JSX",
6
6
  "keywords": [
@@ -46,11 +46,11 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@cabloy/compose": "^2.1.9",
49
- "@cabloy/utils": "^2.1.26",
49
+ "@cabloy/utils": "^2.1.27",
50
50
  "@cabloy/word-utils": "^2.1.14",
51
51
  "typestyle": "^2.4.0",
52
52
  "vue": "^3.5.38",
53
- "zova-core": "^5.1.81"
53
+ "zova-core": "^5.1.82"
54
54
  },
55
55
  "devDependencies": {
56
56
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-vite",
3
- "version": "1.1.43",
3
+ "version": "1.1.44",
4
4
  "gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
5
5
  "description": "zova vite",
6
6
  "keywords": [
@@ -42,7 +42,7 @@
42
42
  "@babel/plugin-transform-typescript": "^7.28.6",
43
43
  "@cabloy/dotenv": "^1.2.8",
44
44
  "@cabloy/extend": "^3.2.8",
45
- "@cabloy/module-glob": "^5.3.17",
45
+ "@cabloy/module-glob": "^5.3.18",
46
46
  "@cabloy/module-info": "^2.0.3",
47
47
  "@cabloy/vite-plugin-babel": "^1.3.3",
48
48
  "@cabloy/vue-babel-plugin-jsx": "^2.0.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova",
3
- "version": "5.1.144",
3
+ "version": "5.1.145",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "A vue3 framework with ioc",
6
6
  "keywords": [
@@ -45,8 +45,8 @@
45
45
  "postpack": "clean-package restore"
46
46
  },
47
47
  "dependencies": {
48
- "zova-core": "^5.1.81",
49
- "zova-suite-a-zova": "^5.1.143"
48
+ "zova-core": "^5.1.82",
49
+ "zova-suite-a-zova": "^5.1.144"
50
50
  },
51
51
  "devDependencies": {
52
52
  "clean-package": "^2.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-core",
3
- "version": "5.1.81",
3
+ "version": "5.1.82",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "A vue3 framework with ioc",
6
6
  "keywords": [
@@ -52,7 +52,7 @@
52
52
  "@cabloy/localeutil": "^2.1.8",
53
53
  "@cabloy/logger": "^1.1.24",
54
54
  "@cabloy/module-info": "^2.0.3",
55
- "@cabloy/utils": "^2.1.26",
55
+ "@cabloy/utils": "^2.1.27",
56
56
  "@cabloy/vue-compiler-sfc": "^3.5.14",
57
57
  "@cabloy/vue-reactivity": "^3.5.16",
58
58
  "@cabloy/vue-router": "^4.4.16",
@@ -37,8 +37,8 @@ importers:
37
37
  specifier: ^2.0.3
38
38
  version: 2.0.3
39
39
  '@cabloy/utils':
40
- specifier: ^2.1.26
41
- version: 2.1.26
40
+ specifier: ^2.1.27
41
+ version: 2.1.27
42
42
  '@cabloy/vue-router':
43
43
  specifier: ^4.4.16
44
44
  version: 4.4.16(vue@3.5.38(typescript@5.9.3))
@@ -136,7 +136,7 @@ importers:
136
136
  specifier: workspace:^
137
137
  version: link:packages-zova/zova
138
138
  zova-jsx:
139
- specifier: ^1.1.81
139
+ specifier: ^1.1.82
140
140
  version: link:packages-utils/zova-jsx
141
141
  zova-module-a-api:
142
142
  specifier: workspace:^
@@ -353,8 +353,8 @@ importers:
353
353
  version: link:src/suite/a-training/modules/training-student
354
354
  devDependencies:
355
355
  '@cabloy/cli':
356
- specifier: ^3.1.28
357
- version: 3.1.28(vue@3.5.38(typescript@5.9.3))
356
+ specifier: ^3.1.29
357
+ version: 3.1.29(vue@3.5.38(typescript@5.9.3))
358
358
  '@cabloy/lint':
359
359
  specifier: ^5.1.27
360
360
  version: 5.1.30(@typescript-eslint/eslint-plugin@8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@5.9.3))(eslint@10.6.0(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/rule-tester@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.62.1(typescript@5.9.3))(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@5.9.3))(eslint@10.6.0(jiti@2.7.0))(oxfmt@0.45.0)(oxlint@1.72.0)(supports-color@10.2.2)(typescript@5.9.3)(vue-eslint-parser@10.4.1(eslint@10.6.0(jiti@2.7.0)))
@@ -428,8 +428,8 @@ importers:
428
428
  packages-cli/cli:
429
429
  dependencies:
430
430
  '@cabloy/cli':
431
- specifier: ^3.1.28
432
- version: 3.1.28(vue@3.5.38(typescript@5.9.3))
431
+ specifier: ^3.1.29
432
+ version: 3.1.29(vue@3.5.38(typescript@5.9.3))
433
433
  '@cabloy/process-helper':
434
434
  specifier: ^3.1.8
435
435
  version: 3.1.8
@@ -440,7 +440,7 @@ importers:
440
440
  specifier: ^7.6.2
441
441
  version: 7.8.5
442
442
  zova-cli-set-front:
443
- specifier: ^1.2.99
443
+ specifier: ^1.2.100
444
444
  version: link:../cli-set-front
445
445
  devDependencies:
446
446
  clean-package:
@@ -462,8 +462,8 @@ importers:
462
462
  specifier: ^7.28.6
463
463
  version: 7.29.7(@babel/core@7.29.7)
464
464
  '@cabloy/cli':
465
- specifier: ^3.1.28
466
- version: 3.1.28(vue@3.5.38(typescript@5.9.3))
465
+ specifier: ^3.1.29
466
+ version: 3.1.29(vue@3.5.38(typescript@5.9.3))
467
467
  '@cabloy/extend':
468
468
  specifier: ^3.2.8
469
469
  version: 3.2.8
@@ -474,8 +474,8 @@ importers:
474
474
  specifier: ^7.9.2
475
475
  version: 7.9.2(typescript@5.9.3)
476
476
  '@cabloy/utils':
477
- specifier: ^2.1.26
478
- version: 2.1.26
477
+ specifier: ^2.1.27
478
+ version: 2.1.27
479
479
  '@cabloy/vite-plugin-babel':
480
480
  specifier: ^1.3.3
481
481
  version: 1.3.3(@babel/core@7.29.7)(vite@8.1.0(@types/node@22.20.0)(esbuild@0.27.7)(jiti@2.7.0)(sass-embedded@1.100.0)(sass@1.101.0)(terser@5.48.0)(yaml@2.9.0))
@@ -549,7 +549,7 @@ importers:
549
549
  specifier: ^1.1.17
550
550
  version: link:../../packages-utils/zova-openapi
551
551
  zova-vite:
552
- specifier: ^1.1.43
552
+ specifier: ^1.1.44
553
553
  version: link:../../packages-utils/zova-vite
554
554
  devDependencies:
555
555
  clean-package:
@@ -705,8 +705,8 @@ importers:
705
705
  specifier: ^2.1.9
706
706
  version: 2.1.9
707
707
  '@cabloy/utils':
708
- specifier: ^2.1.26
709
- version: 2.1.26
708
+ specifier: ^2.1.27
709
+ version: 2.1.27
710
710
  '@cabloy/word-utils':
711
711
  specifier: ^2.1.14
712
712
  version: link:../word-utils
@@ -717,7 +717,7 @@ importers:
717
717
  specifier: ^3.5.38
718
718
  version: 3.5.38(typescript@5.9.3)
719
719
  zova-core:
720
- specifier: ^5.1.81
720
+ specifier: ^5.1.82
721
721
  version: link:../../packages-zova/zova-core
722
722
  devDependencies:
723
723
  clean-package:
@@ -758,8 +758,8 @@ importers:
758
758
  specifier: ^3.2.8
759
759
  version: 3.2.8
760
760
  '@cabloy/module-glob':
761
- specifier: ^5.3.17
762
- version: 5.3.17
761
+ specifier: ^5.3.18
762
+ version: 5.3.18
763
763
  '@cabloy/module-info':
764
764
  specifier: ^2.0.3
765
765
  version: 2.0.3
@@ -858,10 +858,10 @@ importers:
858
858
  packages-zova/zova:
859
859
  dependencies:
860
860
  zova-core:
861
- specifier: ^5.1.81
861
+ specifier: ^5.1.82
862
862
  version: link:../zova-core
863
863
  zova-suite-a-zova:
864
- specifier: ^5.1.143
864
+ specifier: ^5.1.144
865
865
  version: link:../../src/suite-vendor/a-zova
866
866
  devDependencies:
867
867
  clean-package:
@@ -892,8 +892,8 @@ importers:
892
892
  specifier: ^2.0.3
893
893
  version: 2.0.3
894
894
  '@cabloy/utils':
895
- specifier: ^2.1.26
896
- version: 2.1.26
895
+ specifier: ^2.1.27
896
+ version: 2.1.27
897
897
  '@cabloy/vue-compiler-sfc':
898
898
  specifier: ^3.5.14
899
899
  version: 3.5.14
@@ -974,7 +974,7 @@ importers:
974
974
  src/suite-vendor/a-pay:
975
975
  dependencies:
976
976
  zova-module-a-pay:
977
- specifier: ^5.0.2
977
+ specifier: ^5.0.3
978
978
  version: link:modules/a-pay
979
979
  zova-module-pay-mock:
980
980
  specifier: ^5.0.2
@@ -1097,7 +1097,7 @@ importers:
1097
1097
  specifier: ^5.1.36
1098
1098
  version: link:modules/a-zod
1099
1099
  zova-module-a-zova:
1100
- specifier: ^5.1.96
1100
+ specifier: ^5.1.97
1101
1101
  version: link:modules/a-zova
1102
1102
 
1103
1103
  src/suite-vendor/a-zova/modules/a-api:
@@ -1424,8 +1424,8 @@ importers:
1424
1424
  specifier: ^2.0.3
1425
1425
  version: 2.0.3
1426
1426
  '@cabloy/utils':
1427
- specifier: ^2.1.26
1428
- version: 2.1.26
1427
+ specifier: ^2.1.27
1428
+ version: 2.1.27
1429
1429
  '@cabloy/vue-router':
1430
1430
  specifier: ^4.4.16
1431
1431
  version: 4.4.16(vue@3.5.38(typescript@5.9.3))
@@ -1439,12 +1439,12 @@ importers:
1439
1439
  specifier: ^3.7.2
1440
1440
  version: 3.7.2
1441
1441
  zova-jsx:
1442
- specifier: ^1.1.81
1442
+ specifier: ^1.1.82
1443
1443
  version: link:../../../../../packages-utils/zova-jsx
1444
1444
  devDependencies:
1445
1445
  '@cabloy/cli':
1446
- specifier: ^3.1.28
1447
- version: 3.1.28(vue@3.5.38(typescript@5.9.3))
1446
+ specifier: ^3.1.29
1447
+ version: 3.1.29(vue@3.5.38(typescript@5.9.3))
1448
1448
  '@types/luxon':
1449
1449
  specifier: ^3.7.1
1450
1450
  version: 3.7.2
@@ -2190,8 +2190,8 @@ packages:
2190
2190
  '@bufbuild/protobuf@2.12.1':
2191
2191
  resolution: {integrity: sha512-BvAMfS6LrgZiryOAZ4pBYucu4wG/Ei/9o9DZ9akbREnMLbPJiom2i8b9C8IsKErQoiKqVhrerzt3kOT/RrzLHg==}
2192
2192
 
2193
- '@cabloy/cli@3.1.28':
2194
- resolution: {integrity: sha512-wZO0cZsi6UbQ4tQt3uIPmBr6GA0xbF0EMHSsqoe2NHtGZFsEQPU9Vb0uAyGjo7GXUtM5nR/9cTs5BCz6ehtfdA==}
2193
+ '@cabloy/cli@3.1.29':
2194
+ resolution: {integrity: sha512-2a8VLq6tGrJ5+sNa0JHGFSjRG7HEJWnKZXGmT14eawN7l3qwoQwsRKSfRwaeeOHKa3GfKUOFSco+B+Lf6+q2Mw==}
2195
2195
 
2196
2196
  '@cabloy/compose@2.1.9':
2197
2197
  resolution: {integrity: sha512-b+EB7EDQz7dDdrvFEmRIpGpW0jvDEmYGChSbKx0wzki6AGCj0z3lNm4qnkgM5+CTQIKBU2FmvDcQjU5r6Cj6SA==}
@@ -2221,8 +2221,8 @@ packages:
2221
2221
  '@cabloy/localeutil@2.1.8':
2222
2222
  resolution: {integrity: sha512-haHUf245W2hmMrTw4UE23kOLcCPFj3XYWkjVYA643C/qhSGD7/ztMPf0VQL/AvmDnvIsjvKWdt79M4vjgOyD/A==}
2223
2223
 
2224
- '@cabloy/module-glob@5.3.17':
2225
- resolution: {integrity: sha512-yKB/gqGguJFq2ZqgT1b7wCCjWWFOs/5Vbpj/NdHDSd5roTR8GS66lgN8nBbd9ON6HGFOG3krqeNFhM4Zq9ZiHg==}
2224
+ '@cabloy/module-glob@5.3.18':
2225
+ resolution: {integrity: sha512-8O5nTC8qgtqq1HjKJGkf2VRIhVFtEvPezro9s/XBj/fDn7aWU1iBLNFYnjSriqjj4Y6QP4QMEA8IYYSfDZ3l5Q==}
2226
2226
 
2227
2227
  '@cabloy/module-info@2.0.1':
2228
2228
  resolution: {integrity: sha512-viMBTOCXcmFbJAVNumo0Cs/3qHbgNzmaRPvHuA1z0tQm2jEhl/JN+gT8hXfauNbkBQr90Z3AjjYRe3ABBDuUdA==}
@@ -2279,8 +2279,8 @@ packages:
2279
2279
  '@cabloy/socket@2.1.9':
2280
2280
  resolution: {integrity: sha512-iuqHddhxlQBg/bftoFPX5iTzELYEkPfm1DLC7YJX+qUvU3rO99EilAmqimpMTVbZNOM4d1Fa2+xgdKoNVDd9cA==}
2281
2281
 
2282
- '@cabloy/utils@2.1.26':
2283
- resolution: {integrity: sha512-76YVLpgpdkGSizhtcTDWqolCh8Xp7lKa6ilZ9bkyujgV5I2ivH+3nZmsHm5J4MWhyMA9Q9NPvwGMQPjxw+yh6Q==}
2282
+ '@cabloy/utils@2.1.27':
2283
+ resolution: {integrity: sha512-sVfSl6WLTT0Ciz5YzR2ZWAiGdVMcs8iLX1JBRtKi6j/jA/VlZpVnWTlA/9HJalsjyjEAxjZy9EfgNRQwgKCrag==}
2284
2284
 
2285
2285
  '@cabloy/vite-plugin-babel@1.3.3':
2286
2286
  resolution: {integrity: sha512-fr4XlCREJDFi0bg3rXpm1jmvGN2M7WHGG4vCzpLmXGMzrM3X68Bk/gem16NoVSBteKH/ybm4CaNFIOy6Gqu8cg==}
@@ -8419,13 +8419,13 @@ snapshots:
8419
8419
 
8420
8420
  '@bufbuild/protobuf@2.12.1': {}
8421
8421
 
8422
- '@cabloy/cli@3.1.28(vue@3.5.38(typescript@5.9.3))':
8422
+ '@cabloy/cli@3.1.29(vue@3.5.38(typescript@5.9.3))':
8423
8423
  dependencies:
8424
8424
  '@babel/parser': 7.29.7
8425
- '@cabloy/module-glob': 5.3.17
8425
+ '@cabloy/module-glob': 5.3.18
8426
8426
  '@cabloy/module-info': 2.0.3
8427
8427
  '@cabloy/process-helper': 3.1.8
8428
- '@cabloy/utils': 2.1.26
8428
+ '@cabloy/utils': 2.1.27
8429
8429
  '@cabloy/word-utils': link:packages-utils/word-utils
8430
8430
  '@npmcli/config': 10.11.0
8431
8431
  '@zhennann/common-bin': 4.0.1
@@ -8499,10 +8499,10 @@ snapshots:
8499
8499
 
8500
8500
  '@cabloy/localeutil@2.1.8': {}
8501
8501
 
8502
- '@cabloy/module-glob@5.3.17':
8502
+ '@cabloy/module-glob@5.3.18':
8503
8503
  dependencies:
8504
8504
  '@cabloy/module-info': 2.0.3
8505
- '@cabloy/utils': 2.1.26
8505
+ '@cabloy/utils': 2.1.27
8506
8506
  boxen: 4.2.0
8507
8507
  chalk: 3.0.0
8508
8508
  fs-extra: 11.3.5
@@ -8598,7 +8598,7 @@ snapshots:
8598
8598
 
8599
8599
  '@cabloy/socket@2.1.9': {}
8600
8600
 
8601
- '@cabloy/utils@2.1.26':
8601
+ '@cabloy/utils@2.1.27':
8602
8602
  dependencies:
8603
8603
  '@cabloy/module-info': 2.0.3
8604
8604
  '@cabloy/word-utils': link:packages-utils/word-utils
@@ -117,6 +117,14 @@ export type ApiSchemaCommerceTradeDtoCartUpdateItem =
117
117
  components['schemas']['commerce-trade.dto.cartUpdateItem'];
118
118
  export type ApiSchemaCommerceTradeDtoCartUpdateItemPartial =
119
119
  Partial<ApiSchemaCommerceTradeDtoCartUpdateItem>;
120
+ export type ApiSchemaCommerceTradeDtoCheckoutPaymentMethods =
121
+ components['schemas']['commerce-trade.dto.checkoutPaymentMethods'];
122
+ export type ApiSchemaCommerceTradeDtoCheckoutPaymentMethodsPartial =
123
+ Partial<ApiSchemaCommerceTradeDtoCheckoutPaymentMethods>;
124
+ export type ApiSchemaCommerceTradeDtoCheckoutPaymentMethod =
125
+ components['schemas']['commerce-trade.dto.checkoutPaymentMethod'];
126
+ export type ApiSchemaCommerceTradeDtoCheckoutPaymentMethodPartial =
127
+ Partial<ApiSchemaCommerceTradeDtoCheckoutPaymentMethod>;
120
128
  export type ApiSchemaCommerceTradeDtoCheckoutResult =
121
129
  components['schemas']['commerce-trade.dto.checkoutResult'];
122
130
  export type ApiSchemaCommerceTradeDtoCheckoutResultPartial =