cabloy 5.1.113 → 5.1.115

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 (141) hide show
  1. package/.cabloy-version +1 -1
  2. package/.claude/skills/cabloy-backend-scaffold/references/follow-up-checklist.md +4 -0
  3. package/.github/workflows/vona-test-mysql.yml +12 -0
  4. package/.github/workflows/vona-test-pg.yml +5 -1
  5. package/CHANGELOG.md +20 -0
  6. package/CLAUDE.md +4 -0
  7. package/cabloy-docs/backend/internal-aop-guide.md +35 -0
  8. package/cabloy-docs/backend/unit-testing.md +72 -1
  9. package/package.json +1 -1
  10. package/vona/packages-cli/cli/package.json +1 -1
  11. package/vona/packages-cli/cli-set-api/package.json +1 -1
  12. package/vona/packages-cli/cli-set-api/toolsIsolate/test.ts +26 -13
  13. package/vona/packages-utils/compose/package.json +1 -1
  14. package/vona/packages-utils/compose/src/index.ts +19 -11
  15. package/vona/packages-vona/vona/package.json +1 -1
  16. package/vona/packages-vona/vona-core/package.json +1 -1
  17. package/vona/packages-vona/vona-core/src/lib/bean/beanContainer.ts +15 -3
  18. package/vona/packages-vona/vona-mock/package.json +1 -1
  19. package/vona/pnpm-lock.yaml +143 -12
  20. package/vona/pnpm-workspace.yaml +1 -1
  21. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/.metadata/index.ts +8 -0
  22. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/bean/meta.version.ts +1 -0
  23. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/config/locale/en-us.ts +3 -0
  24. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/config/locale/zh-cn.ts +3 -0
  25. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/dto/skuAttribute.tsx +17 -0
  26. package/vona/src/suite/a-commerce/modules/commerce-catalog/src/entity/sku.tsx +10 -1
  27. package/vona/src/suite/a-commerce/modules/commerce-catalog/test/catalog.test.ts +1 -1
  28. package/vona/src/suite/a-commerce/modules/commerce-member/test/addressOwnership.test.ts +6 -1
  29. package/vona/src/suite/a-commerce/modules/commerce-payment/package.json +2 -1
  30. package/vona/src/suite/a-commerce/modules/commerce-payment/src/.metadata/index.ts +228 -0
  31. package/vona/src/suite/a-commerce/modules/commerce-payment/src/bean/meta.index.ts +15 -0
  32. package/vona/src/suite/a-commerce/modules/commerce-payment/src/bean/meta.version.ts +35 -0
  33. package/vona/src/suite/a-commerce/modules/commerce-payment/src/dto/paymentAttemptView.tsx +26 -0
  34. package/vona/src/suite/a-commerce/modules/commerce-payment/src/entity/paymentAttempt.tsx +34 -0
  35. package/vona/src/suite/a-commerce/modules/commerce-payment/src/model/paymentAttempt.ts +10 -0
  36. package/vona/src/suite/a-commerce/modules/commerce-payment/src/service/paymentAttempt.ts +41 -0
  37. package/vona/src/suite/a-commerce/modules/commerce-payment/test/paymentAttempt.test.ts +33 -0
  38. package/vona/src/suite/a-commerce/modules/commerce-promotion/package.json +4 -2
  39. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/.metadata/index.ts +533 -2
  40. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/.metadata/locales.ts +18 -0
  41. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/bean/meta.index.ts +24 -0
  42. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/bean/meta.version.ts +137 -0
  43. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/bean/ssrMenu.couponTemplate.ts +30 -0
  44. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/config/locale/en-us.ts +37 -0
  45. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/config/locale/zh-cn.ts +37 -0
  46. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/controller/coupon.ts +37 -0
  47. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/controller/couponTemplate.ts +65 -0
  48. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponIssue.tsx +22 -0
  49. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponMineItem.tsx +32 -0
  50. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateCreate.tsx +43 -0
  51. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateSelectReq.tsx +28 -0
  52. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateSelectRes.tsx +11 -0
  53. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateSelectResItem.tsx +39 -0
  54. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateUpdate.tsx +19 -0
  55. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateView.tsx +25 -0
  56. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/entity/couponAudit.tsx +73 -0
  57. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/entity/couponGrant.tsx +83 -0
  58. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/entity/couponTemplate.tsx +82 -0
  59. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/index.ts +1 -0
  60. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/model/couponAudit.ts +10 -0
  61. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/model/couponGrant.ts +10 -0
  62. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/model/couponTemplate.ts +10 -0
  63. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/service/coupon.ts +397 -0
  64. package/vona/src/suite/a-commerce/modules/commerce-promotion/src/service/couponTemplate.ts +52 -0
  65. package/vona/src/suite/a-commerce/modules/commerce-promotion/test/couponReservation.test.ts +162 -0
  66. package/vona/src/suite/a-commerce/modules/commerce-seed/src/bean/meta.version.ts +8 -10
  67. package/vona/src/suite/a-commerce/modules/commerce-trade/package.json +4 -1
  68. package/vona/src/suite/a-commerce/modules/commerce-trade/src/.metadata/index.ts +277 -0
  69. package/vona/src/suite/a-commerce/modules/commerce-trade/src/bean/bean.scheduleOrderExpiry.ts +26 -0
  70. package/vona/src/suite/a-commerce/modules/commerce-trade/src/bean/meta.index.ts +9 -0
  71. package/vona/src/suite/a-commerce/modules/commerce-trade/src/bean/meta.version.ts +75 -0
  72. package/vona/src/suite/a-commerce/modules/commerce-trade/src/config/locale/en-us.ts +11 -2
  73. package/vona/src/suite/a-commerce/modules/commerce-trade/src/config/locale/zh-cn.ts +11 -2
  74. package/vona/src/suite/a-commerce/modules/commerce-trade/src/controller/checkout.ts +19 -0
  75. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/checkoutCreate.tsx +19 -0
  76. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/checkoutResult.tsx +32 -0
  77. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/orderAddressSnapshot.tsx +33 -0
  78. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/orderCouponSnapshot.tsx +35 -0
  79. package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/orderLineSkuAttributeSnapshot.tsx +15 -0
  80. package/vona/src/suite/a-commerce/modules/commerce-trade/src/entity/order.tsx +90 -0
  81. package/vona/src/suite/a-commerce/modules/commerce-trade/src/entity/orderAudit.tsx +36 -0
  82. package/vona/src/suite/a-commerce/modules/commerce-trade/src/entity/orderLine.tsx +52 -0
  83. package/vona/src/suite/a-commerce/modules/commerce-trade/src/entity/stockReservation.tsx +4 -1
  84. package/vona/src/suite/a-commerce/modules/commerce-trade/src/model/order.ts +15 -0
  85. package/vona/src/suite/a-commerce/modules/commerce-trade/src/model/orderAudit.ts +10 -0
  86. package/vona/src/suite/a-commerce/modules/commerce-trade/src/model/orderLine.ts +10 -0
  87. package/vona/src/suite/a-commerce/modules/commerce-trade/src/service/order.ts +556 -0
  88. package/vona/src/suite/a-commerce/modules/commerce-trade/src/service/stockBalance.ts +15 -20
  89. package/vona/src/suite/a-commerce/modules/commerce-trade/test/cartOwnership.test.ts +8 -3
  90. package/vona/src/suite/a-commerce/modules/commerce-trade/test/checkoutReservation.test.ts +158 -0
  91. package/vona/src/suite/a-commerce/modules/commerce-trade/test/orderSnapshot.test.ts +203 -0
  92. package/vona/src/suite/a-commerce/modules/commerce-trade/test/reservationExpiry.test.ts +163 -0
  93. package/vona/src/suite/a-commerce/modules/commerce-trade/test/stockBalance.test.ts +11 -6
  94. package/vona/src/suite/a-commerce/modules/commerce-trade/test/stockReservation.test.ts +11 -6
  95. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/package.json +1 -1
  96. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/service/imageCloudflare.ts +10 -7
  97. package/vona/src/suite-vendor/a-image/package.json +1 -1
  98. package/vona/src/suite-vendor/a-vona/modules/a-aspect/package.json +1 -1
  99. package/vona/src/suite-vendor/a-vona/modules/a-aspect/src/types/aopMethod.ts +16 -3
  100. package/vona/src/suite-vendor/a-vona/modules/a-core/package.json +4 -2
  101. package/vona/src/suite-vendor/a-vona/modules/a-core/src/bean/bean.core.ts +6 -0
  102. package/vona/src/suite-vendor/a-vona/modules/a-core/src/index.ts +1 -0
  103. package/vona/src/suite-vendor/a-vona/modules/a-core/src/lib/core.ts +6 -0
  104. package/vona/src/suite-vendor/a-vona/modules/a-core/src/types/fetch.ts +7 -0
  105. package/vona/src/suite-vendor/a-vona/modules/a-core/src/types/index.ts +1 -0
  106. package/vona/src/suite-vendor/a-vona/modules/a-executor/package.json +1 -1
  107. package/vona/src/suite-vendor/a-vona/modules/a-executor/src/lib/utils.ts +5 -3
  108. package/vona/src/suite-vendor/a-vona/modules/a-retryable/package.json +50 -0
  109. package/vona/src/suite-vendor/a-vona/modules/a-retryable/src/.metadata/index.ts +55 -0
  110. package/vona/src/suite-vendor/a-vona/modules/a-retryable/src/.metadata/this.ts +2 -0
  111. package/vona/src/suite-vendor/a-vona/modules/a-retryable/src/bean/aopMethod.retryable.ts +45 -0
  112. package/vona/src/suite-vendor/a-vona/modules/a-retryable/src/index.ts +1 -0
  113. package/vona/src/suite-vendor/a-vona/modules/a-retryable/tsconfig.build.json +11 -0
  114. package/vona/src/suite-vendor/a-vona/modules/a-retryable/tsconfig.json +7 -0
  115. package/vona/src/suite-vendor/a-vona/modules/a-vona/package.json +2 -1
  116. package/vona/src/suite-vendor/a-vona/package.json +2 -1
  117. package/vona/src/suite-vendor/a-vona/tsconfig.json +3 -0
  118. package/zova/packages-utils/zova-jsx/package.json +3 -3
  119. package/zova/packages-zova/zova/package.json +3 -3
  120. package/zova/packages-zova/zova-core/package.json +2 -2
  121. package/zova/pnpm-lock.yaml +31 -31
  122. package/zova/src/suite/a-commerce/modules/commerce-promotion/cli/openapi.config.ts +9 -0
  123. package/zova/src/suite/a-commerce/modules/commerce-promotion/package.json +2 -1
  124. package/zova/src/suite/a-commerce/modules/commerce-promotion/src/.metadata/index.ts +115 -1
  125. package/zova/src/suite/a-commerce/modules/commerce-promotion/src/api/commercePromotionCoupon.ts +24 -0
  126. package/zova/src/suite/a-commerce/modules/commerce-promotion/src/api/openapi/baseURL.ts +5 -0
  127. package/zova/src/suite/a-commerce/modules/commerce-promotion/src/api/openapi/index.ts +3 -0
  128. package/zova/src/suite/a-commerce/modules/commerce-promotion/src/api/openapi/schemas.ts +478 -0
  129. package/zova/src/suite/a-commerce/modules/commerce-promotion/src/api/openapi/types.ts +8187 -0
  130. package/zova/src/suite/a-commerce/modules/commerce-promotion/src/apiSchema/commercePromotionCoupon.ts +13 -0
  131. package/zova/src/suite/a-commerce/modules/commerce-promotion/src/model/coupon.ts +19 -0
  132. package/zova/src/suite/a-commerce/modules/commerce-trade/cli/openapi.config.ts +1 -0
  133. package/zova/src/suite/a-commerce/modules/commerce-trade/src/.metadata/index.ts +30 -0
  134. package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/commerceTradeCheckout.ts +27 -0
  135. package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/schemas.ts +92 -52
  136. package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/types.ts +1389 -848
  137. package/zova/src/suite/a-commerce/modules/commerce-trade/src/apiSchema/commerceTradeCheckout.ts +13 -0
  138. package/zova/src/suite/a-commerce/modules/commerce-trade/src/model/cart.ts +13 -0
  139. package/zova/src/suite-vendor/a-zova/modules/a-zova/package.json +3 -3
  140. package/zova/src/suite-vendor/a-zova/package.json +2 -2
  141. /package/vona/patches/{zova-core@5.1.78.patch → zova-core@5.1.79.patch} +0 -0
@@ -16,7 +16,7 @@ overrides:
16
16
  zod: npm:@cabloy/zod@4.3.8
17
17
 
18
18
  patchedDependencies:
19
- zova-core@5.1.78: ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce
19
+ zova-core@5.1.79: ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce
20
20
 
21
21
  importers:
22
22
 
@@ -253,6 +253,9 @@ importers:
253
253
  vona-module-a-redlock:
254
254
  specifier: workspace:^
255
255
  version: link:src/suite-vendor/a-vona/modules/a-redlock
256
+ vona-module-a-retryable:
257
+ specifier: workspace:^
258
+ version: link:src/suite-vendor/a-vona/modules/a-retryable
256
259
  vona-module-a-runtime:
257
260
  specifier: workspace:^
258
261
  version: link:src/suite-vendor/a-vona/modules/a-runtime
@@ -531,11 +534,11 @@ importers:
531
534
  specifier: npm:@cabloy/zod@4.3.8
532
535
  version: '@cabloy/zod@4.3.8'
533
536
  zova:
534
- specifier: ^5.1.139
535
- version: 5.1.139(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
537
+ specifier: ^5.1.140
538
+ version: 5.1.140(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
536
539
  zova-jsx:
537
- specifier: ^1.1.78
538
- version: 1.1.78(typescript@5.9.3)
540
+ specifier: ^1.1.79
541
+ version: 1.1.79(typescript@5.9.3)
539
542
  zova-module-a-api:
540
543
  specifier: ^5.1.21
541
544
  version: 5.1.21
@@ -603,11 +606,11 @@ importers:
603
606
  specifier: npm:@cabloy/zod@4.3.8
604
607
  version: '@cabloy/zod@4.3.8'
605
608
  zova:
606
- specifier: ^5.1.139
607
- version: 5.1.139(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
609
+ specifier: ^5.1.140
610
+ version: 5.1.140(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
608
611
  zova-jsx:
609
- specifier: ^1.1.78
610
- version: 1.1.78(typescript@5.9.3)
612
+ specifier: ^1.1.79
613
+ version: 1.1.79(typescript@5.9.3)
611
614
  zova-module-a-api:
612
615
  specifier: ^5.1.21
613
616
  version: 5.1.21
@@ -1991,6 +1994,9 @@ importers:
1991
1994
  vona-module-a-redlock:
1992
1995
  specifier: workspace:^
1993
1996
  version: link:modules/a-redlock
1997
+ vona-module-a-retryable:
1998
+ specifier: workspace:^
1999
+ version: link:modules/a-retryable
1994
2000
  vona-module-a-runtime:
1995
2001
  specifier: workspace:^
1996
2002
  version: link:modules/a-runtime
@@ -2618,6 +2624,15 @@ importers:
2618
2624
  specifier: ^6.1.3
2619
2625
  version: 6.1.3
2620
2626
 
2627
+ src/suite-vendor/a-vona/modules/a-retryable:
2628
+ devDependencies:
2629
+ clean-package:
2630
+ specifier: ^2.2.0
2631
+ version: 2.2.0
2632
+ rimraf:
2633
+ specifier: ^6.1.3
2634
+ version: 6.1.3
2635
+
2621
2636
  src/suite-vendor/a-vona/modules/a-runtime:
2622
2637
  devDependencies:
2623
2638
  clean-package:
@@ -8224,9 +8239,15 @@ packages:
8224
8239
  zova-core@5.1.78:
8225
8240
  resolution: {integrity: sha512-PWvgOujRI1k7TpsJy1G8/Wf7W+/Rm6QbGHPNwcRjgDz4PhTg9z8UN1hfIO1Gg37IAI2hIrK8kqHhFRayROQHgQ==}
8226
8241
 
8242
+ zova-core@5.1.79:
8243
+ resolution: {integrity: sha512-q04JWAjwa5x0py9/FCFPX9I8cNA4zzZ/Z+8mm2mVsRBMqDFcafwVqNumOAkZ+DuA10b4YIoncyQKYz5PhhmBUw==}
8244
+
8227
8245
  zova-jsx@1.1.78:
8228
8246
  resolution: {integrity: sha512-KToLi7h2uElT4ULd5QSXfLNqSA3PaeRKJ4IHNMEJU1xiH02j2u0KCd7iVYK54mQC1QYphan3Z/YXFuW0odPx8w==}
8229
8247
 
8248
+ zova-jsx@1.1.79:
8249
+ resolution: {integrity: sha512-iFp9UpW/3Cbaq0H25xyR04LYyaqB2wlAGOL1dEL7OyuIzHI0IHcBwfZRbRGy7ewgDVHit2ULG03kO1sSjjPuWQ==}
8250
+
8230
8251
  zova-module-a-api@5.1.21:
8231
8252
  resolution: {integrity: sha512-qjm/hfjC4/+7Ap/uzJfBzV0PwRlp2idEmEKwCZYxquaXq6QtJBbTWTznw1iukT4lkJZip2KFkjOvXTzdvZA2UA==}
8232
8253
 
@@ -8302,15 +8323,24 @@ packages:
8302
8323
  zova-module-a-zova@5.1.93:
8303
8324
  resolution: {integrity: sha512-pZ7JGNvDoSLdgbQZLj/LtppDWinpd6W+u0WYQvXLuJH3Hnf0Satcpz5fQS+zseJLxm5jhXjmG3ngoYoOfv72RQ==}
8304
8325
 
8326
+ zova-module-a-zova@5.1.94:
8327
+ resolution: {integrity: sha512-c2qbu3YiNYRSMpprPkBbZ9RaQ9KKF4Y/cEumDJaCpPoZEbJClI/WBZMrY/ZpG9Rsp/87DJ63Vkbu+iSTOh7csg==}
8328
+
8305
8329
  zova-module-rest-resource@5.1.42:
8306
8330
  resolution: {integrity: sha512-eMWhc4428U5Hs4BHqFJoF7yaH+bK8t71scIrCnpLbQS7M80lNkoHxY9s/Kl4i8Uo3+lVWbSbuaXWtR+zVLNqpA==}
8307
8331
 
8308
8332
  zova-suite-a-zova@5.1.138:
8309
8333
  resolution: {integrity: sha512-KiX37VxKcZxEi+inDva3iTpeA90vNlEGxBvLqDMPgBYIpkiX8iAoGZmEHhV5iKtbvFoq3gcbGAki+iO6R8mtCw==}
8310
8334
 
8335
+ zova-suite-a-zova@5.1.139:
8336
+ resolution: {integrity: sha512-LZzCJOXj6njLL91cBgyzThRo+1aOvkBag1XIq4QR6R28t2mrFEdhnvPXBIqcvPpalyZJYwwD+8H/eyE2V/biNg==}
8337
+
8311
8338
  zova@5.1.139:
8312
8339
  resolution: {integrity: sha512-6gA4pfdrSv6ZLp/aeE2nZx8Tu6KwKpuHrIbmZ3zrdHazYRkz51l4y//fBLk45lIfiR7uCIlKb9ziFdvOQQ3F7A==}
8313
8340
 
8341
+ zova@5.1.140:
8342
+ resolution: {integrity: sha512-T8x4YEvkX32lGeeP5rgw7/Y4au10gxqaIHl2nvZlD5Cn9EoLvHfEENpPov8a4cWeQtActoxSTNb3D3WYHE/zpg==}
8343
+
8314
8344
  zwitch@1.0.5:
8315
8345
  resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==}
8316
8346
 
@@ -14128,7 +14158,36 @@ snapshots:
14128
14158
  dependencies:
14129
14159
  zod: '@cabloy/zod@4.3.8'
14130
14160
 
14131
- zova-core@5.1.78(patch_hash=ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce)(typescript@5.9.3):
14161
+ zova-core@5.1.78(typescript@5.9.3):
14162
+ dependencies:
14163
+ '@cabloy/compose': link:packages-utils/compose
14164
+ '@cabloy/extend': link:packages-utils/extend
14165
+ '@cabloy/json5': link:packages-utils/json5
14166
+ '@cabloy/localeutil': link:packages-utils/localeutil
14167
+ '@cabloy/logger': 1.1.24
14168
+ '@cabloy/module-info': 2.0.3
14169
+ '@cabloy/utils': link:packages-utils/utils
14170
+ '@cabloy/vue-compiler-sfc': 3.5.14
14171
+ '@cabloy/vue-reactivity': 3.5.16
14172
+ '@cabloy/vue-router': 4.4.16(vue@3.5.39(typescript@5.9.3))
14173
+ '@cabloy/vue-runtime-core': 3.5.57
14174
+ '@cabloy/vue-runtime-dom': 3.5.13
14175
+ '@cabloy/vue-server-renderer': 3.5.18(vue@3.5.39(typescript@5.9.3))
14176
+ '@cabloy/word-utils': 2.1.14
14177
+ '@cabloy/zod-errors-custom': link:packages-utils/zod-errors-custom
14178
+ '@cabloy/zod-openapi': link:packages-utils/zod-openapi
14179
+ '@cabloy/zod-query': link:packages-utils/zod-query
14180
+ '@types/js-cookie': 3.0.6
14181
+ '@vue/shared': 3.5.36
14182
+ deep-equal: 2.2.3
14183
+ reflect-metadata: 0.2.2
14184
+ vue: 3.5.39(typescript@5.9.3)
14185
+ vue-plugin-render-freeze: 2.0.4(vue@3.5.39(typescript@5.9.3))
14186
+ zod: '@cabloy/zod@4.3.8'
14187
+ transitivePeerDependencies:
14188
+ - typescript
14189
+
14190
+ zova-core@5.1.79(patch_hash=ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce)(typescript@5.9.3):
14132
14191
  dependencies:
14133
14192
  '@cabloy/compose': link:packages-utils/compose
14134
14193
  '@cabloy/extend': link:packages-utils/extend
@@ -14164,7 +14223,18 @@ snapshots:
14164
14223
  '@cabloy/word-utils': 2.1.14
14165
14224
  typestyle: 2.4.0
14166
14225
  vue: 3.5.39(typescript@5.9.3)
14167
- zova-core: 5.1.78(patch_hash=ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce)(typescript@5.9.3)
14226
+ zova-core: 5.1.78(typescript@5.9.3)
14227
+ transitivePeerDependencies:
14228
+ - typescript
14229
+
14230
+ zova-jsx@1.1.79(typescript@5.9.3):
14231
+ dependencies:
14232
+ '@cabloy/compose': link:packages-utils/compose
14233
+ '@cabloy/utils': link:packages-utils/utils
14234
+ '@cabloy/word-utils': 2.1.14
14235
+ typestyle: 2.4.0
14236
+ vue: 3.5.39(typescript@5.9.3)
14237
+ zova-core: 5.1.79(patch_hash=ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce)(typescript@5.9.3)
14168
14238
  transitivePeerDependencies:
14169
14239
  - typescript
14170
14240
 
@@ -14282,6 +14352,22 @@ snapshots:
14282
14352
  - typescript
14283
14353
  - vue
14284
14354
 
14355
+ zova-module-a-zova@5.1.94(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
14356
+ dependencies:
14357
+ '@cabloy/compose': link:packages-utils/compose
14358
+ '@cabloy/deps': link:packages-utils/deps
14359
+ '@cabloy/json5': link:packages-utils/json5
14360
+ '@cabloy/module-info': 2.0.3
14361
+ '@cabloy/utils': link:packages-utils/utils
14362
+ '@cabloy/vue-router': 4.4.16(vue@3.5.39(typescript@5.9.3))
14363
+ '@cabloy/word-utils': 2.1.14
14364
+ defu: 6.1.7
14365
+ luxon: 3.7.2
14366
+ zova-jsx: 1.1.79(typescript@5.9.3)
14367
+ transitivePeerDependencies:
14368
+ - typescript
14369
+ - vue
14370
+
14285
14371
  zova-module-rest-resource@5.1.42: {}
14286
14372
 
14287
14373
  zova-suite-a-zova@5.1.138(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
@@ -14318,9 +14404,43 @@ snapshots:
14318
14404
  - typescript
14319
14405
  - vue
14320
14406
 
14407
+ zova-suite-a-zova@5.1.139(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
14408
+ dependencies:
14409
+ zova-module-a-api: 5.1.21
14410
+ zova-module-a-app: 5.1.25
14411
+ zova-module-a-bean: 5.1.32
14412
+ zova-module-a-behavior: 5.1.25
14413
+ zova-module-a-behaviors: 5.1.21
14414
+ zova-module-a-boundary: 5.1.21
14415
+ zova-module-a-command: 5.1.33
14416
+ zova-module-a-fetch: 5.1.24
14417
+ zova-module-a-form: 5.1.45(vue@3.5.39(typescript@5.9.3))
14418
+ zova-module-a-icon: 5.1.26
14419
+ zova-module-a-interceptor: 5.1.29
14420
+ zova-module-a-logger: 5.1.26
14421
+ zova-module-a-meta: 5.1.21
14422
+ zova-module-a-model: 5.1.33(vue@3.5.39(typescript@5.9.3))
14423
+ zova-module-a-openapi: 5.1.46
14424
+ zova-module-a-router: 5.1.31
14425
+ zova-module-a-routerstack: 5.1.26
14426
+ zova-module-a-routertabs: 5.1.33
14427
+ zova-module-a-ssr: 5.1.31
14428
+ zova-module-a-ssrhmr: 5.1.22
14429
+ zova-module-a-ssrserver: 5.1.23
14430
+ zova-module-a-style: 5.1.32
14431
+ zova-module-a-table: 5.1.37(vue@3.5.39(typescript@5.9.3))
14432
+ zova-module-a-zod: 5.1.36
14433
+ zova-module-a-zova: 5.1.94(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
14434
+ transitivePeerDependencies:
14435
+ - '@vue/composition-api'
14436
+ - debug
14437
+ - supports-color
14438
+ - typescript
14439
+ - vue
14440
+
14321
14441
  zova@5.1.139(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
14322
14442
  dependencies:
14323
- zova-core: 5.1.78(patch_hash=ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce)(typescript@5.9.3)
14443
+ zova-core: 5.1.78(typescript@5.9.3)
14324
14444
  zova-suite-a-zova: 5.1.138(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
14325
14445
  transitivePeerDependencies:
14326
14446
  - '@vue/composition-api'
@@ -14329,6 +14449,17 @@ snapshots:
14329
14449
  - typescript
14330
14450
  - vue
14331
14451
 
14452
+ zova@5.1.140(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
14453
+ dependencies:
14454
+ zova-core: 5.1.79(patch_hash=ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce)(typescript@5.9.3)
14455
+ zova-suite-a-zova: 5.1.139(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
14456
+ transitivePeerDependencies:
14457
+ - '@vue/composition-api'
14458
+ - debug
14459
+ - supports-color
14460
+ - typescript
14461
+ - vue
14462
+
14332
14463
  zwitch@1.0.5: {}
14333
14464
 
14334
14465
  zwitch@2.0.4: {}
@@ -53,4 +53,4 @@ allowBuilds:
53
53
  vue-demi: true
54
54
 
55
55
  patchedDependencies:
56
- zova-core@5.1.78: patches/zova-core@5.1.78.patch
56
+ zova-core@5.1.79: patches/zova-core@5.1.79.patch
@@ -377,6 +377,7 @@ export * from '../dto/productSelectRes.tsx';
377
377
  export * from '../dto/productSelectResItem.tsx';
378
378
  export * from '../dto/productUpdate.tsx';
379
379
  export * from '../dto/productView.tsx';
380
+ export * from '../dto/skuAttribute.tsx';
380
381
  export * from '../dto/skuCreate.tsx';
381
382
  export * from '../dto/skuSelectReq.tsx';
382
383
  export * from '../dto/skuSelectRes.tsx';
@@ -399,6 +400,7 @@ import type { IDtoOptionsProductSelectRes } from '../dto/productSelectRes.tsx';
399
400
  import type { IDtoOptionsProductSelectResItem } from '../dto/productSelectResItem.tsx';
400
401
  import type { IDtoOptionsProductUpdate } from '../dto/productUpdate.tsx';
401
402
  import type { IDtoOptionsProductView } from '../dto/productView.tsx';
403
+ import type { IDtoOptionsSkuAttribute } from '../dto/skuAttribute.tsx';
402
404
  import type { IDtoOptionsSkuCreate } from '../dto/skuCreate.tsx';
403
405
  import type { IDtoOptionsSkuSelectReq } from '../dto/skuSelectReq.tsx';
404
406
  import type { IDtoOptionsSkuSelectRes } from '../dto/skuSelectRes.tsx';
@@ -425,6 +427,7 @@ declare module 'vona-module-a-web' {
425
427
  'commerce-catalog:productSelectResItem': IDtoOptionsProductSelectResItem;
426
428
  'commerce-catalog:productUpdate': IDtoOptionsProductUpdate;
427
429
  'commerce-catalog:productView': IDtoOptionsProductView;
430
+ 'commerce-catalog:skuAttribute': IDtoOptionsSkuAttribute;
428
431
  'commerce-catalog:skuCreate': IDtoOptionsSkuCreate;
429
432
  'commerce-catalog:skuSelectReq': IDtoOptionsSkuSelectReq;
430
433
  'commerce-catalog:skuSelectRes': IDtoOptionsSkuSelectRes;
@@ -456,6 +459,7 @@ import type { DtoProductSelectRes } from '../dto/productSelectRes.tsx';
456
459
  import type { DtoProductSelectResItem } from '../dto/productSelectResItem.tsx';
457
460
  import type { DtoProductUpdate } from '../dto/productUpdate.tsx';
458
461
  import type { DtoProductView } from '../dto/productView.tsx';
462
+ import type { DtoSkuAttribute } from '../dto/skuAttribute.tsx';
459
463
  import type { DtoSkuCreate } from '../dto/skuCreate.tsx';
460
464
  import type { DtoSkuSelectReq } from '../dto/skuSelectReq.tsx';
461
465
  import type { DtoSkuSelectRes } from '../dto/skuSelectRes.tsx';
@@ -528,6 +532,10 @@ declare module 'vona-module-commerce-catalog' {
528
532
  fields?: TypeEntityOptionsFields<DtoProductView, IDtoOptionsProductView[TypeSymbolKeyFieldsMore]>;
529
533
  }
530
534
 
535
+ export interface IDtoOptionsSkuAttribute {
536
+ fields?: TypeEntityOptionsFields<DtoSkuAttribute, IDtoOptionsSkuAttribute[TypeSymbolKeyFieldsMore]>;
537
+ }
538
+
531
539
  export interface IDtoOptionsSkuCreate {
532
540
  fields?: TypeEntityOptionsFields<DtoSkuCreate, IDtoOptionsSkuCreate[TypeSymbolKeyFieldsMore]>;
533
541
  }
@@ -42,6 +42,7 @@ export class MetaVersion extends BeanBase implements IMetaVersionUpdate {
42
42
  table.tableIdentity(entitySku.productId).comment(entitySku.$comment.productId);
43
43
  table.string(entitySku.code, 100).comment(entitySku.$comment.code);
44
44
  table.integer(entitySku.priceCents).comment(entitySku.$comment.priceCents);
45
+ table.json(entitySku.attributes).comment(entitySku.$comment.attributes);
45
46
  table.string(entitySku.lifecycle, 20).comment(entitySku.$comment.lifecycle);
46
47
  table.index([entitySku.productId], `idx_${entitySku.$table}_productId`);
47
48
  table.index([entitySku.lifecycle], `idx_${entitySku.$table}_lifecycle`);
@@ -10,6 +10,9 @@ export default {
10
10
  ProductTitle: 'Product title',
11
11
  Published: 'Published',
12
12
  Sku: 'SKU',
13
+ SkuAttributeName: 'SKU attribute name',
14
+ SkuAttributeValue: 'SKU attribute value',
15
+ SkuAttributes: 'SKU attributes',
13
16
  SkuCode: 'SKU code',
14
17
  SkuLifecycle: 'SKU lifecycle',
15
18
  SkuLifecycleActive: 'Active',
@@ -10,6 +10,9 @@ export default {
10
10
  ProductTitle: '商品标题',
11
11
  Published: '已发布',
12
12
  Sku: 'SKU',
13
+ SkuAttributeName: 'SKU 属性名',
14
+ SkuAttributeValue: 'SKU 属性值',
15
+ SkuAttributes: 'SKU 属性',
13
16
  SkuCode: 'SKU 编码',
14
17
  SkuLifecycle: 'SKU 生命周期',
15
18
  SkuLifecycleActive: '已启用',
@@ -0,0 +1,17 @@
1
+ import type { IDecoratorDtoOptions } from 'vona-module-a-web';
2
+
3
+ import { Api, v } from 'vona-module-a-openapiutils';
4
+ import { Dto } from 'vona-module-a-web';
5
+
6
+ import { $locale } from '../.metadata/locales.ts';
7
+
8
+ export interface IDtoOptionsSkuAttribute extends IDecoratorDtoOptions {}
9
+
10
+ @Dto<IDtoOptionsSkuAttribute>()
11
+ export class DtoSkuAttribute {
12
+ @Api.field(v.title($locale('SkuAttributeName')), v.required(), v.min(1), v.max(100))
13
+ name: string;
14
+
15
+ @Api.field(v.title($locale('SkuAttributeValue')), v.required(), v.min(1), v.max(255))
16
+ value: string;
17
+ }
@@ -7,6 +7,7 @@ import z from 'zod';
7
7
  import { ZovaRender } from 'zova-rest-cabloy-basic-admin';
8
8
 
9
9
  import { $locale } from '../.metadata/locales.ts';
10
+ import { DtoSkuAttribute } from '../dto/skuAttribute.tsx';
10
11
 
11
12
  export const skuLifecycleItems = [
12
13
  { value: 'draft', title: $locale('SkuLifecycleDraft') },
@@ -56,10 +57,18 @@ export class EntitySku extends EntityBase {
56
57
  )
57
58
  priceCents: number;
58
59
 
60
+ @Api.field(
61
+ v.title($locale('SkuAttributes')),
62
+ v.default([]),
63
+ v.array(v.object(DtoSkuAttribute)),
64
+ ZovaRender.order(4),
65
+ )
66
+ attributes: DtoSkuAttribute[];
67
+
59
68
  @Api.field(
60
69
  v.title($locale('SkuLifecycle')),
61
70
  v.default('draft'),
62
- ZovaRender.order(4),
71
+ ZovaRender.order(5),
63
72
  z.enum(['draft', 'active', 'inactive', 'archived']),
64
73
  )
65
74
  lifecycle: 'draft' | 'active' | 'inactive' | 'archived';
@@ -448,7 +448,7 @@ describe('catalog.test.ts', () => {
448
448
  let foreignCatalog!: Awaited<ReturnType<typeof createCatalog>>;
449
449
  await app.bean.executor.mockCtx(
450
450
  async () => {
451
- foreignCatalog = await createCatalog(`__catalog-relation-foreign-${suffix}__`, 'active');
451
+ foreignCatalog = await createCatalog(`crf-${suffix}`, 'active');
452
452
  },
453
453
  { instanceName: 'shareTest' as any },
454
454
  );
@@ -6,11 +6,16 @@ import type {
6
6
 
7
7
  import { catchError } from '@cabloy/utils';
8
8
  import assert from 'node:assert';
9
+ import { randomUUID } from 'node:crypto';
9
10
  import { describe, it } from 'node:test';
10
11
  import { app } from 'vona-mock';
11
12
 
12
13
  const actionPath = '/commerce/member/address';
13
14
 
15
+ function createTestId() {
16
+ return randomUUID().slice(0, 12);
17
+ }
18
+
14
19
  function createAddress(suffix: string): DtoAddressCreate {
15
20
  return {
16
21
  recipientName: `Recipient ${suffix}`,
@@ -60,7 +65,7 @@ describe('address.test.ts', () => {
60
65
 
61
66
  it('derives ownership from the authenticated customer and scopes every action', async () => {
62
67
  await app.bean.executor.mockCtx(async () => {
63
- const suffix = `${Date.now()}`;
68
+ const suffix = createTestId();
64
69
  const customerA = await registerAndSignin(`address-a-${suffix}`);
65
70
  const customerB = await registerAndSignin(`address-b-${suffix}`);
66
71
  const addressData = createAddress(suffix);
@@ -47,6 +47,7 @@
47
47
  "vonaModule": {
48
48
  "dependencies": {
49
49
  "a-vona": "5.0.0"
50
- }
50
+ },
51
+ "fileVersion": 1
51
52
  }
52
53
  }
@@ -1,4 +1,229 @@
1
1
  // eslint-disable
2
+ import type { TypeEntityMeta,TypeModelsClassLikeGeneral,TypeSymbolKeyFieldsMore } from 'vona-module-a-orm';
3
+ import type { TypeEntityOptionsFields } from 'vona-module-a-openapi';
4
+ import type { TableIdentity } from 'table-identity';
5
+ /** entity: begin */
6
+ export * from '../entity/paymentAttempt.tsx';
7
+ import type { IEntityOptionsPaymentAttempt } from '../entity/paymentAttempt.tsx';
8
+ import 'vona-module-a-orm';
9
+ declare module 'vona-module-a-orm' {
10
+
11
+ export interface IEntityRecord {
12
+ 'commerce-payment:paymentAttempt': IEntityOptionsPaymentAttempt;
13
+ }
14
+
15
+
16
+ }
17
+ declare module 'vona-module-commerce-payment' {
18
+
19
+ }
20
+ /** entity: end */
21
+ /** entity: begin */
22
+ import type { EntityPaymentAttempt } from '../entity/paymentAttempt.tsx';
23
+ export interface IModuleEntity {
24
+ 'paymentAttempt': EntityPaymentAttemptMeta;
25
+ }
26
+ /** entity: end */
27
+ /** entity: begin */
28
+ export type EntityPaymentAttemptTableName = 'commercePaymentAttempt';
29
+ export type EntityPaymentAttemptMeta=TypeEntityMeta<EntityPaymentAttempt,EntityPaymentAttemptTableName>;
30
+ declare module 'vona-module-a-orm' {
31
+ export interface ITableRecord {
32
+ 'commercePaymentAttempt': EntityPaymentAttemptMeta;
33
+ }
34
+ }
35
+ declare module 'vona-module-commerce-payment' {
36
+
37
+ export interface IEntityOptionsPaymentAttempt {
38
+ fields?: TypeEntityOptionsFields<EntityPaymentAttempt, IEntityOptionsPaymentAttempt[TypeSymbolKeyFieldsMore]>;
39
+ }
40
+ }
41
+ /** entity: end */
42
+ /** model: begin */
43
+ export * from '../model/paymentAttempt.ts';
44
+ import type { IModelOptionsPaymentAttempt } from '../model/paymentAttempt.ts';
45
+ import 'vona-module-a-orm';
46
+ declare module 'vona-module-a-orm' {
47
+
48
+ export interface IModelRecord {
49
+ 'commerce-payment:paymentAttempt': IModelOptionsPaymentAttempt;
50
+ }
51
+
52
+
53
+ }
54
+ declare module 'vona-module-commerce-payment' {
55
+
56
+ export interface ModelPaymentAttempt {
57
+ /** @internal */
58
+ get scope(): ScopeModuleCommercePayment;
59
+ }
60
+
61
+ export interface ModelPaymentAttempt {
62
+ get $beanFullName(): 'commerce-payment.model.paymentAttempt';
63
+ get $onionName(): 'commerce-payment:paymentAttempt';
64
+ get $onionOptions(): IModelOptionsPaymentAttempt;
65
+ }
66
+ }
67
+ /** model: end */
68
+ /** model: begin */
69
+ import type { ModelPaymentAttempt } from '../model/paymentAttempt.ts';
70
+ export interface IModuleModel {
71
+ 'paymentAttempt': ModelPaymentAttempt;
72
+ }
73
+ /** model: end */
74
+ /** model: begin */
75
+
76
+ import 'vona';
77
+ declare module 'vona' {
78
+ export interface IBeanRecordGeneral {
79
+ 'commerce-payment.model.paymentAttempt': ModelPaymentAttempt;
80
+ }
81
+ }
82
+ /** model: end */
83
+ /** model: begin */
84
+ import type { IModelGetOptions, IModelMethodOptions, IModelSelectParams, TypeModelSelectAndCount, TypeModelRelationResult, TypeModelWhere, IModelInsertOptions, TypeModelMutateRelationData, IModelDeleteOptions, IModelUpdateOptions, IModelMutateOptions, IModelSelectCountParams, IModelIncrementParams, IModelSelectAggrParams, TypeModelAggrRelationResult, IModelSelectGroupParams, TypeModelGroupRelationResult } from 'vona-module-a-orm';
85
+ import { SymbolKeyEntity, SymbolKeyEntityMeta, SymbolKeyModelOptions } from 'vona-module-a-orm';
86
+ declare module 'vona-module-commerce-payment' {
87
+
88
+ export interface ModelPaymentAttempt {
89
+ [SymbolKeyEntity]: EntityPaymentAttempt;
90
+ [SymbolKeyEntityMeta]: EntityPaymentAttemptMeta;
91
+ [SymbolKeyModelOptions]: IModelOptionsPaymentAttempt;
92
+ get<T extends IModelGetOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(where: TypeModelWhere<EntityPaymentAttempt>, options?: T): Promise<TypeModelRelationResult<EntityPaymentAttempt, ModelPaymentAttempt, T> | undefined>;
93
+ getForUpdate<T extends IModelGetOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(where: TypeModelWhere<EntityPaymentAttempt>, options?: T): Promise<TypeModelRelationResult<EntityPaymentAttempt, ModelPaymentAttempt, T> | undefined>;
94
+ getByIdForUpdate<T extends IModelGetOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityPaymentAttempt, ModelPaymentAttempt, T> | undefined>;
95
+ mget<T extends IModelGetOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityPaymentAttempt, ModelPaymentAttempt, T>[]>;
96
+ selectAndCount<T extends IModelSelectParams<EntityPaymentAttempt,ModelPaymentAttempt,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelSelectAndCount<EntityPaymentAttempt, ModelPaymentAttempt, T>>;
97
+ select<T extends IModelSelectParams<EntityPaymentAttempt,ModelPaymentAttempt,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityPaymentAttempt, ModelPaymentAttempt, T>[]>;
98
+ insert<T extends IModelInsertOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(data?: TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T>, options?: T): Promise<TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T, true>>;
99
+ insertBulk<T extends IModelInsertOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(items: TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T, true>[]>;
100
+ update<T extends IModelUpdateOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(data: TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T>, options?: T): Promise<TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T>>;
101
+ updateBulk<T extends IModelUpdateOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(items: TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T>[]>;
102
+ delete<T extends IModelDeleteOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(where?: TypeModelWhere<EntityPaymentAttempt>, options?: T): Promise<void>;
103
+ deleteBulk<T extends IModelDeleteOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(ids: TableIdentity[], options?: T): Promise<void>;
104
+ mutate<T extends IModelMutateOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(data?: TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T>, options?: T): Promise<TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T>>;
105
+ mutateBulk<T extends IModelMutateOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(items: TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T>[]>;
106
+ count<T extends IModelSelectCountParams<EntityPaymentAttempt,ModelPaymentAttempt,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<string | undefined>;
107
+ increment<T extends IModelIncrementParams<EntityPaymentAttempt,ModelPaymentAttempt,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
108
+ decrement<T extends IModelIncrementParams<EntityPaymentAttempt,ModelPaymentAttempt,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
109
+ aggregate<T extends IModelSelectAggrParams<EntityPaymentAttempt,ModelPaymentAttempt,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelAggrRelationResult<T>>;
110
+ group<T extends IModelSelectGroupParams<EntityPaymentAttempt,ModelPaymentAttempt,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelGroupRelationResult<EntityPaymentAttempt, T>[]>;
111
+ getById<T extends IModelGetOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityPaymentAttempt, ModelPaymentAttempt, T> | undefined>;
112
+ updateById<T extends IModelUpdateOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(id: TableIdentity, data: TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T>, options?: T): Promise<TypeModelMutateRelationData<EntityPaymentAttempt,ModelPaymentAttempt, T>>;
113
+ deleteById<T extends IModelDeleteOptions<EntityPaymentAttempt,ModelPaymentAttempt>>(id: TableIdentity, options?: T): Promise<void>;
114
+ }
115
+ }
116
+ declare module 'vona-module-a-orm' {
117
+ export interface IModelClassRecord {
118
+ 'commerce-payment:paymentAttempt': ModelPaymentAttempt;
119
+ }
120
+ }
121
+ /** model: end */
122
+ /** service: begin */
123
+ export * from '../service/paymentAttempt.ts';
124
+
125
+ import 'vona-module-a-bean';
126
+ declare module 'vona-module-a-bean' {
127
+
128
+ export interface IServiceRecord {
129
+ 'commerce-payment:paymentAttempt': never;
130
+ }
131
+
132
+
133
+ }
134
+ declare module 'vona-module-commerce-payment' {
135
+
136
+ export interface ServicePaymentAttempt {
137
+ /** @internal */
138
+ get scope(): ScopeModuleCommercePayment;
139
+ }
140
+
141
+ export interface ServicePaymentAttempt {
142
+ get $beanFullName(): 'commerce-payment.service.paymentAttempt';
143
+ get $onionName(): 'commerce-payment:paymentAttempt';
144
+
145
+ }
146
+ }
147
+ /** service: end */
148
+ /** service: begin */
149
+ import type { ServicePaymentAttempt } from '../service/paymentAttempt.ts';
150
+ export interface IModuleService {
151
+ 'paymentAttempt': ServicePaymentAttempt;
152
+ }
153
+ /** service: end */
154
+ /** service: begin */
155
+
156
+ import 'vona';
157
+ declare module 'vona' {
158
+ export interface IBeanRecordGeneral {
159
+ 'commerce-payment.service.paymentAttempt': ServicePaymentAttempt;
160
+ }
161
+ }
162
+ /** service: end */
163
+ /** meta: begin */
164
+ export * from '../bean/meta.index.ts';
165
+ export * from '../bean/meta.version.ts';
166
+ import type { IMetaOptionsIndex } from 'vona-module-a-index';
167
+ import 'vona-module-a-meta';
168
+ declare module 'vona-module-a-meta' {
169
+
170
+ export interface IMetaRecord {
171
+ 'commerce-payment:index': IMetaOptionsIndex;
172
+ 'commerce-payment:version': never;
173
+ }
174
+
175
+
176
+ }
177
+ declare module 'vona-module-commerce-payment' {
178
+
179
+ export interface MetaIndex {
180
+ /** @internal */
181
+ get scope(): ScopeModuleCommercePayment;
182
+ }
183
+
184
+ export interface MetaIndex {
185
+ get $beanFullName(): 'commerce-payment.meta.index';
186
+ get $onionName(): 'commerce-payment:index';
187
+ get $onionOptions(): IMetaOptionsIndex;
188
+ }
189
+
190
+ export interface MetaVersion {
191
+ /** @internal */
192
+ get scope(): ScopeModuleCommercePayment;
193
+ }
194
+
195
+ export interface MetaVersion {
196
+ get $beanFullName(): 'commerce-payment.meta.version';
197
+ get $onionName(): 'commerce-payment:version';
198
+
199
+ }
200
+ }
201
+ /** meta: end */
202
+ /** dto: begin */
203
+ export * from '../dto/paymentAttemptView.tsx';
204
+ import type { IDtoOptionsPaymentAttemptView } from '../dto/paymentAttemptView.tsx';
205
+ import 'vona-module-a-web';
206
+ declare module 'vona-module-a-web' {
207
+
208
+ export interface IDtoRecord {
209
+ 'commerce-payment:paymentAttemptView': IDtoOptionsPaymentAttemptView;
210
+ }
211
+
212
+
213
+ }
214
+ declare module 'vona-module-commerce-payment' {
215
+
216
+ }
217
+ /** dto: end */
218
+ /** dto: begin */
219
+ import type { DtoPaymentAttemptView } from '../dto/paymentAttemptView.tsx';
220
+ declare module 'vona-module-commerce-payment' {
221
+
222
+ export interface IDtoOptionsPaymentAttemptView {
223
+ fields?: TypeEntityOptionsFields<DtoPaymentAttemptView, IDtoOptionsPaymentAttemptView[TypeSymbolKeyFieldsMore]>;
224
+ }
225
+ }
226
+ /** dto: end */
2
227
  /** scope: begin */
3
228
  import { BeanScopeBase, type BeanScopeUtil } from 'vona';
4
229
  import { Scope } from 'vona-module-a-bean';
@@ -8,6 +233,9 @@ export class ScopeModuleCommercePayment extends BeanScopeBase {}
8
233
 
9
234
  export interface ScopeModuleCommercePayment {
10
235
  util: BeanScopeUtil;
236
+ entity: IModuleEntity;
237
+ model: IModuleModel;
238
+ service: IModuleService;
11
239
  }
12
240
 
13
241
  import 'vona';