cabloy 5.1.125 → 5.1.127
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/.cabloy-version +1 -1
- package/.claude/skills/cabloy-backend-scaffold/SKILL.md +1 -1
- package/.claude/skills/cabloy-backend-scaffold/evals/evals.json +6 -0
- package/.claude/skills/cabloy-backend-scaffold/references/follow-up-checklist.md +13 -4
- package/.claude/skills/cabloy-workflow/SKILL.md +4 -2
- package/.claude/skills/cabloy-workflow/evals/evals.json +14 -2
- package/.claude/skills/cabloy-worktree-environment/SKILL.md +206 -0
- package/.claude/skills/cabloy-worktree-environment/evals/evals.json +77 -0
- package/.github/workflows/vona-test-pg.yml +3 -0
- package/.github/workflows/vona-test-sqlite3.yml +3 -0
- package/CHANGELOG.md +36 -0
- package/CLAUDE.md +1 -1
- package/cabloy-docs/.vitepress/config.mjs +1 -0
- package/cabloy-docs/backend/backend-contract-emission-specimen.md +2 -2
- package/cabloy-docs/backend/dto-guide.md +10 -7
- package/cabloy-docs/backend/dto-infer-generation.md +127 -7
- package/cabloy-docs/backend/error-guide.md +17 -0
- package/cabloy-docs/backend/foundation.md +1 -1
- package/cabloy-docs/backend/introduction.md +1 -0
- package/cabloy-docs/backend/module-dependencies.md +104 -0
- package/cabloy-docs/backend/serialization-guide.md +6 -0
- package/cabloy-docs/fullstack/parallel-worktree-environment.md +72 -34
- package/cabloy-docs/fullstack/suites-and-modules.md +1 -0
- package/cabloy-docs/reference/package-map.md +1 -0
- package/e2e/specs/a-commerce/commerce.spec.ts +224 -4
- package/package.json +2 -1
- package/scripts/init.ts +7 -12
- package/scripts/initAppName.test.ts +72 -0
- package/scripts/initAppName.ts +50 -0
- package/vona/packages-cli/cli/package.json +1 -1
- package/vona/packages-cli/cli-set-api/package.json +1 -1
- package/vona/packages-vona/vona/package.json +1 -1
- package/vona/packages-vona/vona-core/package.json +1 -1
- package/vona/packages-vona/vona-core/src/lib/bean/resource/error/errorClass.ts +21 -4
- package/vona/packages-vona/vona-core/src/lib/bean/resource/error/errorObject.ts +1 -0
- package/vona/packages-vona/vona-core/src/lib/bean/type.ts +3 -1
- package/vona/packages-vona/vona-core/src/types/interface/module.ts +6 -1
- package/vona/packages-vona/vona-mock/package.json +1 -1
- package/vona/pnpm-lock.yaml +27 -147
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/.metadata/index.ts +36 -1
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/config/locale/en-us.ts +1 -0
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/config/locale/zh-cn.ts +1 -0
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/dto/categorySelectResItem.tsx +3 -1
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/dto/categoryView.tsx +3 -1
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/entity/category.tsx +21 -2
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/model/category.ts +11 -1
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/service/category.ts +7 -2
- package/vona/src/suite/a-commerce/modules/commerce-catalog/test/categoryPresentation.test.ts +218 -0
- package/vona/src/suite/a-commerce/modules/commerce-member/src/dto/addressMineCreate.tsx +6 -27
- package/vona/src/suite/a-commerce/modules/commerce-member/src/dto/addressMineItem.tsx +6 -31
- package/vona/src/suite/a-commerce/modules/commerce-member/src/dto/addressMineUpdate.tsx +6 -2
- package/vona/src/suite/a-commerce/modules/commerce-member/src/lib/addressMine.ts +16 -0
- package/vona/src/suite/a-commerce/modules/commerce-member/src/service/address.ts +4 -17
- package/vona/src/suite/a-commerce/modules/commerce-member/test/addressOwnership.test.ts +63 -19
- package/vona/src/suite/a-commerce/modules/commerce-payment/package.json +2 -1
- package/vona/src/suite/a-commerce/modules/commerce-payment/src/bean/payScene.commerceOrder.ts +11 -2
- package/vona/src/suite/a-commerce/modules/commerce-payment/src/service/commercePayScene.ts +26 -0
- package/vona/src/suite/a-commerce/modules/commerce-payment/test/paymentAttempt.test.ts +19 -2
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/config/locale/en-us.ts +5 -2
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/config/locale/zh-cn.ts +5 -2
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateCreate.tsx +26 -35
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateUpdate.tsx +6 -1
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/entity/couponTemplate.tsx +40 -4
- package/vona/src/suite/a-commerce/modules/commerce-promotion/test/couponTemplateFormLayout.test.ts +85 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/.metadata/index.ts +1 -1
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/controller/order.ts +3 -5
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/orderSummary.tsx +7 -40
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/refundResult.tsx +3 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/shipmentView.tsx +6 -15
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/lib/order.ts +9 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/service/order.ts +123 -12
- package/vona/src/suite/a-commerce/modules/commerce-trade/test/order.test.ts +25 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/test/paymentOutcome.test.ts +19 -2
- package/vona/src/suite/a-commerce/modules/commerce-trade/test/refundLifecycle.test.ts +111 -3
- package/vona/src/suite/a-training/modules/training-record/src/dto/detailRecordSubjectResItem.tsx +6 -1
- package/vona/src/suite/a-training/modules/training-record/src/dto/recordSelectResItem.tsx +3 -1
- package/vona/src/suite/a-training/modules/training-record/src/dto/recordView.tsx +4 -1
- package/vona/src/suite/a-training/modules/training-record/test/record.test.ts +45 -0
- package/vona/src/suite/a-training/modules/training-student/src/dto/detailRecordResItem.tsx +6 -1
- package/vona/src/suite/a-training/modules/training-student/src/dto/studentSummary.tsx +5 -23
- package/vona/src/suite/a-training/modules/training-student/test/student.test.ts +37 -5
- package/vona/src/suite-vendor/a-pay/modules/a-pay/package.json +1 -1
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/.metadata/index.ts +29 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/meta.index.ts +3 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/meta.redlock.ts +3 -1
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/meta.version.ts +7 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/queue.outboxDispatch.ts +9 -4
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/schedule.providerOperationDispatch.ts +11 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/entity/outboxEvent.tsx +11 -4
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/entity/providerOperation.tsx +12 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/entity/webhookInbox.tsx +6 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/outbox.ts +12 -5
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/paymentSession.ts +1 -37
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/providerOperation.ts +355 -1
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/refundOperation.ts +226 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/webhook.ts +148 -50
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/types/payScene.ts +2 -1
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/package.json +1 -1
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/.metadata/index.ts +39 -22
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/bean/payProvider.mock.ts +42 -13
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/controller/mockPayment.ts +11 -0
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/dto/mockRefundComplete.tsx +13 -0
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/dto/mockRefundReceipt.tsx +16 -0
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/service/payMock.ts +56 -0
- package/vona/src/suite-vendor/a-pay/modules/pay-paypal/package.json +2 -1
- package/vona/src/suite-vendor/a-pay/modules/pay-paypal/src/bean/payProvider.paypal.ts +117 -8
- package/vona/src/suite-vendor/a-pay/modules/pay-stripe/package.json +1 -1
- package/vona/src/suite-vendor/a-pay/package.json +5 -5
- package/vona/src/suite-vendor/a-vona/modules/a-core/package.json +1 -1
- package/vona/src/suite-vendor/a-vona/modules/a-orm/package.json +1 -1
- package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoGet.ts +5 -5
- package/vona/src/suite-vendor/a-vona/package.json +1 -1
- package/zova/src/suite/a-commerce/modules/commerce-member/src/api/openapi/schemas.ts +58 -12
- package/zova/src/suite/a-commerce/modules/commerce-member/src/api/openapi/types.ts +673 -66
- package/zova/src/suite/a-commerce/modules/commerce-promotion/src/api/openapi/types.ts +55 -15
- package/zova/src/suite/a-commerce/modules/commerce-trade/cli/openapi.config.ts +1 -1
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/commerceTradeOrder.ts +15 -17
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/schemas.ts +12 -8
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/types.ts +116 -30
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/apiSchema/commerceTradeOrder.ts +3 -3
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/component/tableCellActionRefund/controller.tsx +1 -8
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/model/order.ts +5 -9
- package/zova/src/suite/a-training/modules/training-student/src/.metadata/index.ts +1 -1
- package/zova/src/suite/a-training/modules/training-student/src/api/openapi/schemas.ts +301 -17
- package/zova/src/suite/a-training/modules/training-student/src/api/openapi/types.ts +5461 -1788
- package/zova/src/suite/cabloy-basic/modules/basic-select/src/bean/tableCell.select.tsx +12 -6
- package/zova/src/suite/cabloy-basic/modules/basic-select/src/component/formFieldSelect/controller.tsx +6 -3
package/vona/pnpm-lock.yaml
CHANGED
|
@@ -717,11 +717,11 @@ importers:
|
|
|
717
717
|
specifier: npm:@cabloy/zod@4.3.8
|
|
718
718
|
version: '@cabloy/zod@4.3.8'
|
|
719
719
|
zova:
|
|
720
|
-
specifier: ^5.1.
|
|
721
|
-
version: 5.1.
|
|
720
|
+
specifier: ^5.1.144
|
|
721
|
+
version: 5.1.144(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
722
722
|
zova-jsx:
|
|
723
|
-
specifier: ^1.1.
|
|
724
|
-
version: 1.1.
|
|
723
|
+
specifier: ^1.1.81
|
|
724
|
+
version: 1.1.81(typescript@5.9.3)
|
|
725
725
|
zova-module-a-api:
|
|
726
726
|
specifier: ^5.1.21
|
|
727
727
|
version: 5.1.21
|
|
@@ -750,8 +750,8 @@ importers:
|
|
|
750
750
|
specifier: ^5.1.47
|
|
751
751
|
version: 5.1.47
|
|
752
752
|
zova-module-a-pay:
|
|
753
|
-
specifier: ^5.0.
|
|
754
|
-
version: 5.0.
|
|
753
|
+
specifier: ^5.0.2
|
|
754
|
+
version: 5.0.2
|
|
755
755
|
zova-module-a-router:
|
|
756
756
|
specifier: ^5.1.31
|
|
757
757
|
version: 5.1.31
|
|
@@ -768,8 +768,8 @@ importers:
|
|
|
768
768
|
specifier: ^5.1.37
|
|
769
769
|
version: 5.1.37(vue@3.5.39(typescript@5.9.3))
|
|
770
770
|
zova-module-pay-mock:
|
|
771
|
-
specifier: ^5.0.
|
|
772
|
-
version: 5.0.
|
|
771
|
+
specifier: ^5.0.2
|
|
772
|
+
version: 5.0.2
|
|
773
773
|
zova-module-rest-resource:
|
|
774
774
|
specifier: ^5.1.42
|
|
775
775
|
version: 5.1.42
|
|
@@ -795,11 +795,11 @@ importers:
|
|
|
795
795
|
specifier: npm:@cabloy/zod@4.3.8
|
|
796
796
|
version: '@cabloy/zod@4.3.8'
|
|
797
797
|
zova:
|
|
798
|
-
specifier: ^5.1.
|
|
799
|
-
version: 5.1.
|
|
798
|
+
specifier: ^5.1.144
|
|
799
|
+
version: 5.1.144(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
800
800
|
zova-jsx:
|
|
801
|
-
specifier: ^1.1.
|
|
802
|
-
version: 1.1.
|
|
801
|
+
specifier: ^1.1.81
|
|
802
|
+
version: 1.1.81(typescript@5.9.3)
|
|
803
803
|
zova-module-a-api:
|
|
804
804
|
specifier: ^5.1.21
|
|
805
805
|
version: 5.1.21
|
|
@@ -828,8 +828,8 @@ importers:
|
|
|
828
828
|
specifier: ^5.1.47
|
|
829
829
|
version: 5.1.47
|
|
830
830
|
zova-module-a-pay:
|
|
831
|
-
specifier: ^5.0.
|
|
832
|
-
version: 5.0.
|
|
831
|
+
specifier: ^5.0.2
|
|
832
|
+
version: 5.0.2
|
|
833
833
|
zova-module-a-router:
|
|
834
834
|
specifier: ^5.1.31
|
|
835
835
|
version: 5.1.31
|
|
@@ -846,8 +846,8 @@ importers:
|
|
|
846
846
|
specifier: ^5.1.37
|
|
847
847
|
version: 5.1.37(vue@3.5.39(typescript@5.9.3))
|
|
848
848
|
zova-module-pay-mock:
|
|
849
|
-
specifier: ^5.0.
|
|
850
|
-
version: 5.0.
|
|
849
|
+
specifier: ^5.0.2
|
|
850
|
+
version: 5.0.2
|
|
851
851
|
zova-module-rest-resource:
|
|
852
852
|
specifier: ^5.1.42
|
|
853
853
|
version: 5.1.42
|
|
@@ -1834,16 +1834,16 @@ importers:
|
|
|
1834
1834
|
src/suite-vendor/a-pay:
|
|
1835
1835
|
dependencies:
|
|
1836
1836
|
vona-module-a-pay:
|
|
1837
|
-
specifier: ^5.0.
|
|
1837
|
+
specifier: ^5.0.3
|
|
1838
1838
|
version: link:modules/a-pay
|
|
1839
1839
|
vona-module-pay-mock:
|
|
1840
|
-
specifier: ^5.0.
|
|
1840
|
+
specifier: ^5.0.3
|
|
1841
1841
|
version: link:modules/pay-mock
|
|
1842
1842
|
vona-module-pay-paypal:
|
|
1843
|
-
specifier: ^5.0.
|
|
1843
|
+
specifier: ^5.0.3
|
|
1844
1844
|
version: link:modules/pay-paypal
|
|
1845
1845
|
vona-module-pay-stripe:
|
|
1846
|
-
specifier: ^5.0.
|
|
1846
|
+
specifier: ^5.0.3
|
|
1847
1847
|
version: link:modules/pay-stripe
|
|
1848
1848
|
|
|
1849
1849
|
src/suite-vendor/a-pay/modules/a-pay:
|
|
@@ -1870,6 +1870,9 @@ importers:
|
|
|
1870
1870
|
|
|
1871
1871
|
src/suite-vendor/a-pay/modules/pay-paypal:
|
|
1872
1872
|
dependencies:
|
|
1873
|
+
'@cabloy/paypal-server-sdk':
|
|
1874
|
+
specifier: 2.2.0
|
|
1875
|
+
version: 2.2.0(supports-color@5.5.0)
|
|
1873
1876
|
vona-module-a-pay:
|
|
1874
1877
|
specifier: workspace:*
|
|
1875
1878
|
version: link:../a-pay
|
|
@@ -1919,7 +1922,7 @@ importers:
|
|
|
1919
1922
|
specifier: ^5.0.8
|
|
1920
1923
|
version: link:modules/test-file
|
|
1921
1924
|
vona-module-test-pay:
|
|
1922
|
-
specifier: ^5.0.
|
|
1925
|
+
specifier: ^5.0.2
|
|
1923
1926
|
version: link:modules/test-pay
|
|
1924
1927
|
|
|
1925
1928
|
src/suite-vendor/a-test/modules/test-auth:
|
|
@@ -3077,6 +3080,9 @@ importers:
|
|
|
3077
3080
|
vona-module-a-pay:
|
|
3078
3081
|
specifier: workspace:*
|
|
3079
3082
|
version: link:../../../../suite-vendor/a-pay/modules/a-pay
|
|
3083
|
+
vona-module-pay-paypal:
|
|
3084
|
+
specifier: workspace:*
|
|
3085
|
+
version: link:../../../../suite-vendor/a-pay/modules/pay-paypal
|
|
3080
3086
|
devDependencies:
|
|
3081
3087
|
clean-package:
|
|
3082
3088
|
specifier: ^2.2.0
|
|
@@ -8556,15 +8562,9 @@ packages:
|
|
|
8556
8562
|
peerDependencies:
|
|
8557
8563
|
zod: ^3.25.28 || ^4
|
|
8558
8564
|
|
|
8559
|
-
zova-core@5.1.79:
|
|
8560
|
-
resolution: {integrity: sha512-q04JWAjwa5x0py9/FCFPX9I8cNA4zzZ/Z+8mm2mVsRBMqDFcafwVqNumOAkZ+DuA10b4YIoncyQKYz5PhhmBUw==}
|
|
8561
|
-
|
|
8562
8565
|
zova-core@5.1.81:
|
|
8563
8566
|
resolution: {integrity: sha512-gLmLWXpd9xNmc+fXx33QEgRZ2ZsNjRlVWDC1HEQLLnq3ZCakDf87qXhfdk+JH5csS2BjGAdckfmbiLqGL15o1Q==}
|
|
8564
8567
|
|
|
8565
|
-
zova-jsx@1.1.79:
|
|
8566
|
-
resolution: {integrity: sha512-iFp9UpW/3Cbaq0H25xyR04LYyaqB2wlAGOL1dEL7OyuIzHI0IHcBwfZRbRGy7ewgDVHit2ULG03kO1sSjjPuWQ==}
|
|
8567
|
-
|
|
8568
8568
|
zova-jsx@1.1.81:
|
|
8569
8569
|
resolution: {integrity: sha512-WVUc4DYsVcjPfcfWgFY2vQbiK8ARIwv2K6o6Auyqvts/vSfJ7BCzD4XqCVHANVY5yJ8povdJUzpiCIAhioWRkg==}
|
|
8570
8570
|
|
|
@@ -8613,9 +8613,6 @@ packages:
|
|
|
8613
8613
|
zova-module-a-openapi@5.1.47:
|
|
8614
8614
|
resolution: {integrity: sha512-iar4YR9GGdCQ9N60yt9yV+RkiM1seKlmbhoyZqLAZ7aR5tLnw2ZL7ElamHEGO5iBtFXRU8QH8RaU+8PnnyaLkg==}
|
|
8615
8615
|
|
|
8616
|
-
zova-module-a-pay@5.0.0:
|
|
8617
|
-
resolution: {integrity: sha512-jt9acZZPKnkJs8t4qOBOmqO7gyOGnByujCyNsuohAYLQSXkjdTKOJqXDe6dj0KcdayHry0ZvJiaErzQJsiNbWA==}
|
|
8618
|
-
|
|
8619
8616
|
zova-module-a-pay@5.0.2:
|
|
8620
8617
|
resolution: {integrity: sha512-BOKkM7R//Kju54PhZxnyJ0O8gHnyKrwxXpAAr85wJurHQAl3NIsdRwINj+i+hIe3Btc+UJmi/H1kpg0d3YuoZQ==}
|
|
8621
8618
|
|
|
@@ -8646,30 +8643,18 @@ packages:
|
|
|
8646
8643
|
zova-module-a-zod@5.1.36:
|
|
8647
8644
|
resolution: {integrity: sha512-4gEjxJBelVOA84aP2XWSNSmzQr+AYh14Ha5QCj9yZIpSnEajSgYLoyLw4dwiVcscuEw7xAAOOnWbZS9uXSpJzg==}
|
|
8648
8645
|
|
|
8649
|
-
zova-module-a-zova@5.1.94:
|
|
8650
|
-
resolution: {integrity: sha512-c2qbu3YiNYRSMpprPkBbZ9RaQ9KKF4Y/cEumDJaCpPoZEbJClI/WBZMrY/ZpG9Rsp/87DJ63Vkbu+iSTOh7csg==}
|
|
8651
|
-
|
|
8652
8646
|
zova-module-a-zova@5.1.96:
|
|
8653
8647
|
resolution: {integrity: sha512-lP6LgzbrSlHBqyA1QhMZ66B0DQBLcXcEcWBh3zESFnhFzbomlfABjG+cnju5ki771YhT2CuPeo3m9v01WYc3Bg==}
|
|
8654
8648
|
|
|
8655
|
-
zova-module-pay-mock@5.0.0:
|
|
8656
|
-
resolution: {integrity: sha512-WORyFqRNkrcGZCzLaesu4BDziQ2iOUIeRMVbwXx/Wzp2W0EpwMvqqAPqO8U3PKjvWtAw3YwTJFsXs1Qh66l4zQ==}
|
|
8657
|
-
|
|
8658
8649
|
zova-module-pay-mock@5.0.2:
|
|
8659
8650
|
resolution: {integrity: sha512-G6ld4ZZJ3crSUQ1fH+Tn2p9/05ngfJYtDtTtq7K1Xo9ei2fjbp13Jrbjh3cKR+dhWuK9Q1gwAs7xwhu7NIiTKA==}
|
|
8660
8651
|
|
|
8661
8652
|
zova-module-rest-resource@5.1.42:
|
|
8662
8653
|
resolution: {integrity: sha512-eMWhc4428U5Hs4BHqFJoF7yaH+bK8t71scIrCnpLbQS7M80lNkoHxY9s/Kl4i8Uo3+lVWbSbuaXWtR+zVLNqpA==}
|
|
8663
8654
|
|
|
8664
|
-
zova-suite-a-zova@5.1.141:
|
|
8665
|
-
resolution: {integrity: sha512-fqeynyYUL12PTZMQ1ZxryHEFcCfaQL2hLTs8MxxdbHCKDhOjNEaOTW5MGR5DzSRM7uMXNCq1crPvbYvDmmeUdg==}
|
|
8666
|
-
|
|
8667
8655
|
zova-suite-a-zova@5.1.143:
|
|
8668
8656
|
resolution: {integrity: sha512-DMaYtWO1HVu0BIeNguAYqlcOGa9MVfejDLvLqw6mOqmPSSLrvGSSC+lzYGhI/J9xQBbGRFaWbIdMhetCpuZdwg==}
|
|
8669
8657
|
|
|
8670
|
-
zova@5.1.142:
|
|
8671
|
-
resolution: {integrity: sha512-qvrKhrS9y4BVI2Nszre3TSvDJu5BjTo2adzAXP2qC3TeoW4IZ8njvV2ROoAPe//X6SiJ1Il60oTNSc1PnkXvWg==}
|
|
8672
|
-
|
|
8673
8658
|
zova@5.1.144:
|
|
8674
8659
|
resolution: {integrity: sha512-YEgsYl7hL635nK9134oH8GMUqHp41IAp0I+rWz27f2QCkp8QGLqvQIbrvXoFnYwJyuYmaCz/eBMMrl1y+mzs0w==}
|
|
8675
8660
|
|
|
@@ -14591,35 +14576,6 @@ snapshots:
|
|
|
14591
14576
|
dependencies:
|
|
14592
14577
|
zod: '@cabloy/zod@4.3.8'
|
|
14593
14578
|
|
|
14594
|
-
zova-core@5.1.79(typescript@5.9.3):
|
|
14595
|
-
dependencies:
|
|
14596
|
-
'@cabloy/compose': link:packages-utils/compose
|
|
14597
|
-
'@cabloy/extend': link:packages-utils/extend
|
|
14598
|
-
'@cabloy/json5': link:packages-utils/json5
|
|
14599
|
-
'@cabloy/localeutil': link:packages-utils/localeutil
|
|
14600
|
-
'@cabloy/logger': 1.1.24
|
|
14601
|
-
'@cabloy/module-info': 2.0.3
|
|
14602
|
-
'@cabloy/utils': link:packages-utils/utils
|
|
14603
|
-
'@cabloy/vue-compiler-sfc': 3.5.14
|
|
14604
|
-
'@cabloy/vue-reactivity': 3.5.16
|
|
14605
|
-
'@cabloy/vue-router': 4.4.16(vue@3.5.39(typescript@5.9.3))
|
|
14606
|
-
'@cabloy/vue-runtime-core': 3.5.57
|
|
14607
|
-
'@cabloy/vue-runtime-dom': 3.5.13
|
|
14608
|
-
'@cabloy/vue-server-renderer': 3.5.18(vue@3.5.39(typescript@5.9.3))
|
|
14609
|
-
'@cabloy/word-utils': 2.1.14
|
|
14610
|
-
'@cabloy/zod-errors-custom': link:packages-utils/zod-errors-custom
|
|
14611
|
-
'@cabloy/zod-openapi': link:packages-utils/zod-openapi
|
|
14612
|
-
'@cabloy/zod-query': link:packages-utils/zod-query
|
|
14613
|
-
'@types/js-cookie': 3.0.6
|
|
14614
|
-
'@vue/shared': 3.5.36
|
|
14615
|
-
deep-equal: 2.2.3
|
|
14616
|
-
reflect-metadata: 0.2.2
|
|
14617
|
-
vue: 3.5.39(typescript@5.9.3)
|
|
14618
|
-
vue-plugin-render-freeze: 2.0.4(vue@3.5.39(typescript@5.9.3))
|
|
14619
|
-
zod: '@cabloy/zod@4.3.8'
|
|
14620
|
-
transitivePeerDependencies:
|
|
14621
|
-
- typescript
|
|
14622
|
-
|
|
14623
14579
|
zova-core@5.1.81(patch_hash=ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce)(typescript@5.9.3):
|
|
14624
14580
|
dependencies:
|
|
14625
14581
|
'@cabloy/compose': link:packages-utils/compose
|
|
@@ -14649,17 +14605,6 @@ snapshots:
|
|
|
14649
14605
|
transitivePeerDependencies:
|
|
14650
14606
|
- typescript
|
|
14651
14607
|
|
|
14652
|
-
zova-jsx@1.1.79(typescript@5.9.3):
|
|
14653
|
-
dependencies:
|
|
14654
|
-
'@cabloy/compose': link:packages-utils/compose
|
|
14655
|
-
'@cabloy/utils': link:packages-utils/utils
|
|
14656
|
-
'@cabloy/word-utils': 2.1.14
|
|
14657
|
-
typestyle: 2.4.0
|
|
14658
|
-
vue: 3.5.39(typescript@5.9.3)
|
|
14659
|
-
zova-core: 5.1.79(typescript@5.9.3)
|
|
14660
|
-
transitivePeerDependencies:
|
|
14661
|
-
- typescript
|
|
14662
|
-
|
|
14663
14608
|
zova-jsx@1.1.81(typescript@5.9.3):
|
|
14664
14609
|
dependencies:
|
|
14665
14610
|
'@cabloy/compose': link:packages-utils/compose
|
|
@@ -14730,8 +14675,6 @@ snapshots:
|
|
|
14730
14675
|
openapi3-ts: 4.6.0
|
|
14731
14676
|
typestyle: 2.4.0
|
|
14732
14677
|
|
|
14733
|
-
zova-module-a-pay@5.0.0: {}
|
|
14734
|
-
|
|
14735
14678
|
zova-module-a-pay@5.0.2: {}
|
|
14736
14679
|
|
|
14737
14680
|
zova-module-a-router@5.1.31: {}
|
|
@@ -14773,22 +14716,6 @@ snapshots:
|
|
|
14773
14716
|
'@cabloy/zod-query': link:packages-utils/zod-query
|
|
14774
14717
|
zod: '@cabloy/zod@4.3.8'
|
|
14775
14718
|
|
|
14776
|
-
zova-module-a-zova@5.1.94(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14777
|
-
dependencies:
|
|
14778
|
-
'@cabloy/compose': link:packages-utils/compose
|
|
14779
|
-
'@cabloy/deps': link:packages-utils/deps
|
|
14780
|
-
'@cabloy/json5': link:packages-utils/json5
|
|
14781
|
-
'@cabloy/module-info': 2.0.3
|
|
14782
|
-
'@cabloy/utils': link:packages-utils/utils
|
|
14783
|
-
'@cabloy/vue-router': 4.4.16(vue@3.5.39(typescript@5.9.3))
|
|
14784
|
-
'@cabloy/word-utils': 2.1.14
|
|
14785
|
-
defu: 6.1.7
|
|
14786
|
-
luxon: 3.7.2
|
|
14787
|
-
zova-jsx: 1.1.79(typescript@5.9.3)
|
|
14788
|
-
transitivePeerDependencies:
|
|
14789
|
-
- typescript
|
|
14790
|
-
- vue
|
|
14791
|
-
|
|
14792
14719
|
zova-module-a-zova@5.1.96(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14793
14720
|
dependencies:
|
|
14794
14721
|
'@cabloy/compose': link:packages-utils/compose
|
|
@@ -14805,46 +14732,10 @@ snapshots:
|
|
|
14805
14732
|
- typescript
|
|
14806
14733
|
- vue
|
|
14807
14734
|
|
|
14808
|
-
zova-module-pay-mock@5.0.0: {}
|
|
14809
|
-
|
|
14810
14735
|
zova-module-pay-mock@5.0.2: {}
|
|
14811
14736
|
|
|
14812
14737
|
zova-module-rest-resource@5.1.42: {}
|
|
14813
14738
|
|
|
14814
|
-
zova-suite-a-zova@5.1.141(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14815
|
-
dependencies:
|
|
14816
|
-
zova-module-a-api: 5.1.21
|
|
14817
|
-
zova-module-a-app: 5.1.25
|
|
14818
|
-
zova-module-a-bean: 5.1.32
|
|
14819
|
-
zova-module-a-behavior: 5.1.25
|
|
14820
|
-
zova-module-a-behaviors: 5.1.21
|
|
14821
|
-
zova-module-a-boundary: 5.1.21
|
|
14822
|
-
zova-module-a-command: 5.1.33
|
|
14823
|
-
zova-module-a-fetch: 5.1.24
|
|
14824
|
-
zova-module-a-form: 5.1.46(vue@3.5.39(typescript@5.9.3))
|
|
14825
|
-
zova-module-a-icon: 5.1.26
|
|
14826
|
-
zova-module-a-interceptor: 5.1.29
|
|
14827
|
-
zova-module-a-logger: 5.1.26
|
|
14828
|
-
zova-module-a-meta: 5.1.21
|
|
14829
|
-
zova-module-a-model: 5.1.33(vue@3.5.39(typescript@5.9.3))
|
|
14830
|
-
zova-module-a-openapi: 5.1.47
|
|
14831
|
-
zova-module-a-router: 5.1.31
|
|
14832
|
-
zova-module-a-routerstack: 5.1.26
|
|
14833
|
-
zova-module-a-routertabs: 5.1.33
|
|
14834
|
-
zova-module-a-ssr: 5.1.32
|
|
14835
|
-
zova-module-a-ssrhmr: 5.1.22
|
|
14836
|
-
zova-module-a-ssrserver: 5.1.23
|
|
14837
|
-
zova-module-a-style: 5.1.32
|
|
14838
|
-
zova-module-a-table: 5.1.37(vue@3.5.39(typescript@5.9.3))
|
|
14839
|
-
zova-module-a-zod: 5.1.36
|
|
14840
|
-
zova-module-a-zova: 5.1.94(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
14841
|
-
transitivePeerDependencies:
|
|
14842
|
-
- '@vue/composition-api'
|
|
14843
|
-
- debug
|
|
14844
|
-
- supports-color
|
|
14845
|
-
- typescript
|
|
14846
|
-
- vue
|
|
14847
|
-
|
|
14848
14739
|
zova-suite-a-zova@5.1.143(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14849
14740
|
dependencies:
|
|
14850
14741
|
zova-module-a-api: 5.1.21
|
|
@@ -14879,17 +14770,6 @@ snapshots:
|
|
|
14879
14770
|
- typescript
|
|
14880
14771
|
- vue
|
|
14881
14772
|
|
|
14882
|
-
zova@5.1.142(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14883
|
-
dependencies:
|
|
14884
|
-
zova-core: 5.1.79(typescript@5.9.3)
|
|
14885
|
-
zova-suite-a-zova: 5.1.141(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
14886
|
-
transitivePeerDependencies:
|
|
14887
|
-
- '@vue/composition-api'
|
|
14888
|
-
- debug
|
|
14889
|
-
- supports-color
|
|
14890
|
-
- typescript
|
|
14891
|
-
- vue
|
|
14892
|
-
|
|
14893
14773
|
zova@5.1.144(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14894
14774
|
dependencies:
|
|
14895
14775
|
zova-core: 5.1.81(patch_hash=ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce)(typescript@5.9.3)
|
|
@@ -142,7 +142,12 @@ declare module 'vona' {
|
|
|
142
142
|
import type { IModelGetOptions, IModelMethodOptions, IModelSelectParams, TypeModelSelectAndCount, TypeModelRelationResult, TypeModelWhere, IModelInsertOptions, TypeModelMutateRelationData, IModelDeleteOptions, IModelUpdateOptions, IModelMutateOptions, IModelSelectCountParams, IModelIncrementParams, IModelSelectAggrParams, TypeModelAggrRelationResult, IModelSelectGroupParams, TypeModelGroupRelationResult } from 'vona-module-a-orm';
|
|
143
143
|
import { SymbolKeyEntity, SymbolKeyEntityMeta, SymbolKeyModelOptions } from 'vona-module-a-orm';
|
|
144
144
|
declare module 'vona-module-commerce-catalog' {
|
|
145
|
-
export interface
|
|
145
|
+
export interface IModelOptionsCategory {
|
|
146
|
+
relations: {
|
|
147
|
+
parent: IModelRelationBelongsTo<'commerce-catalog:category', 'commerce-catalog:category', false, 'id'|'name'>;
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
export interface IModelOptionsProduct {
|
|
146
151
|
relations: {
|
|
147
152
|
category: IModelRelationBelongsTo<'commerce-catalog:product', 'commerce-catalog:category', false, '*'>;
|
|
148
153
|
skus: IModelRelationHasMany<'commerce-catalog:sku', 'productId', false, '*', undefined, undefined, undefined>;
|
|
@@ -159,7 +164,17 @@ export interface IModelOptionsSku {
|
|
|
159
164
|
[SymbolKeyEntityMeta]: EntityCategoryMeta;
|
|
160
165
|
[SymbolKeyModelOptions]: IModelOptionsCategory;
|
|
161
166
|
get<T extends IModelGetOptions<EntityCategory,ModelCategory>>(where: TypeModelWhere<EntityCategory>, options?: T): Promise<TypeModelRelationResult<EntityCategory, ModelCategory, T> | undefined>;
|
|
167
|
+
/**
|
|
168
|
+
* Retrieves one matching primary row with a pessimistic FOR UPDATE lock.
|
|
169
|
+
* Requires an active transaction. The lock is released when that transaction completes.
|
|
170
|
+
* Entity and query caches are bypassed.
|
|
171
|
+
*/
|
|
162
172
|
getForUpdate<T extends IModelGetOptions<EntityCategory,ModelCategory>>(where: TypeModelWhere<EntityCategory>, options?: T): Promise<TypeModelRelationResult<EntityCategory, ModelCategory, T> | undefined>;
|
|
173
|
+
/**
|
|
174
|
+
* Retrieves a primary row by ID with the same pessimistic FOR UPDATE lock semantics.
|
|
175
|
+
* Requires an active transaction. The lock is released when that transaction completes.
|
|
176
|
+
* Entity and query caches are bypassed.
|
|
177
|
+
*/
|
|
163
178
|
getByIdForUpdate<T extends IModelGetOptions<EntityCategory,ModelCategory>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityCategory, ModelCategory, T> | undefined>;
|
|
164
179
|
mget<T extends IModelGetOptions<EntityCategory,ModelCategory>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityCategory, ModelCategory, T>[]>;
|
|
165
180
|
selectAndCount<T extends IModelSelectParams<EntityCategory,ModelCategory,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelSelectAndCount<EntityCategory, ModelCategory, T>>;
|
|
@@ -190,7 +205,17 @@ export interface ModelProduct {
|
|
|
190
205
|
[SymbolKeyEntityMeta]: EntityProductMeta;
|
|
191
206
|
[SymbolKeyModelOptions]: IModelOptionsProduct;
|
|
192
207
|
get<T extends IModelGetOptions<EntityProduct,ModelProduct>>(where: TypeModelWhere<EntityProduct>, options?: T): Promise<TypeModelRelationResult<EntityProduct, ModelProduct, T> | undefined>;
|
|
208
|
+
/**
|
|
209
|
+
* Retrieves one matching primary row with a pessimistic FOR UPDATE lock.
|
|
210
|
+
* Requires an active transaction. The lock is released when that transaction completes.
|
|
211
|
+
* Entity and query caches are bypassed.
|
|
212
|
+
*/
|
|
193
213
|
getForUpdate<T extends IModelGetOptions<EntityProduct,ModelProduct>>(where: TypeModelWhere<EntityProduct>, options?: T): Promise<TypeModelRelationResult<EntityProduct, ModelProduct, T> | undefined>;
|
|
214
|
+
/**
|
|
215
|
+
* Retrieves a primary row by ID with the same pessimistic FOR UPDATE lock semantics.
|
|
216
|
+
* Requires an active transaction. The lock is released when that transaction completes.
|
|
217
|
+
* Entity and query caches are bypassed.
|
|
218
|
+
*/
|
|
194
219
|
getByIdForUpdate<T extends IModelGetOptions<EntityProduct,ModelProduct>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityProduct, ModelProduct, T> | undefined>;
|
|
195
220
|
mget<T extends IModelGetOptions<EntityProduct,ModelProduct>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityProduct, ModelProduct, T>[]>;
|
|
196
221
|
selectAndCount<T extends IModelSelectParams<EntityProduct,ModelProduct,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelSelectAndCount<EntityProduct, ModelProduct, T>>;
|
|
@@ -217,7 +242,17 @@ export interface ModelSku {
|
|
|
217
242
|
[SymbolKeyEntityMeta]: EntitySkuMeta;
|
|
218
243
|
[SymbolKeyModelOptions]: IModelOptionsSku;
|
|
219
244
|
get<T extends IModelGetOptions<EntitySku,ModelSku>>(where: TypeModelWhere<EntitySku>, options?: T): Promise<TypeModelRelationResult<EntitySku, ModelSku, T> | undefined>;
|
|
245
|
+
/**
|
|
246
|
+
* Retrieves one matching primary row with a pessimistic FOR UPDATE lock.
|
|
247
|
+
* Requires an active transaction. The lock is released when that transaction completes.
|
|
248
|
+
* Entity and query caches are bypassed.
|
|
249
|
+
*/
|
|
220
250
|
getForUpdate<T extends IModelGetOptions<EntitySku,ModelSku>>(where: TypeModelWhere<EntitySku>, options?: T): Promise<TypeModelRelationResult<EntitySku, ModelSku, T> | undefined>;
|
|
251
|
+
/**
|
|
252
|
+
* Retrieves a primary row by ID with the same pessimistic FOR UPDATE lock semantics.
|
|
253
|
+
* Requires an active transaction. The lock is released when that transaction completes.
|
|
254
|
+
* Entity and query caches are bypassed.
|
|
255
|
+
*/
|
|
221
256
|
getByIdForUpdate<T extends IModelGetOptions<EntitySku,ModelSku>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntitySku, ModelSku, T> | undefined>;
|
|
222
257
|
mget<T extends IModelGetOptions<EntitySku,ModelSku>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntitySku, ModelSku, T>[]>;
|
|
223
258
|
selectAndCount<T extends IModelSelectParams<EntitySku,ModelSku,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelSelectAndCount<EntitySku, ModelSku, T>>;
|
package/vona/src/suite/a-commerce/modules/commerce-catalog/src/dto/categorySelectResItem.tsx
CHANGED
|
@@ -46,7 +46,9 @@ export interface IDtoOptionsCategorySelectResItem extends IDecoratorDtoOptions {
|
|
|
46
46
|
}),
|
|
47
47
|
],
|
|
48
48
|
})
|
|
49
|
-
export class DtoCategorySelectResItem extends $Dto.get(() => ModelCategory
|
|
49
|
+
export class DtoCategorySelectResItem extends $Dto.get(() => ModelCategory, {
|
|
50
|
+
include: { parent: true },
|
|
51
|
+
}) {
|
|
50
52
|
@Api.field(
|
|
51
53
|
v.title($locale('Operations')),
|
|
52
54
|
ZovaRender.order(1, 'max'),
|
|
@@ -22,4 +22,6 @@ export interface IDtoOptionsCategoryView extends IDecoratorDtoOptions {}
|
|
|
22
22
|
}),
|
|
23
23
|
],
|
|
24
24
|
})
|
|
25
|
-
export class DtoCategoryView extends $Dto.get(() => ModelCategory
|
|
25
|
+
export class DtoCategoryView extends $Dto.get(() => ModelCategory, {
|
|
26
|
+
include: { parent: true },
|
|
27
|
+
}) {}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { TableIdentity } from 'table-identity';
|
|
2
2
|
import type { IDecoratorEntityOptions } from 'vona-module-a-orm';
|
|
3
3
|
|
|
4
|
-
import { $makeMetadata, Api, v } from 'vona-module-a-openapiutils';
|
|
4
|
+
import { $makeMetadata, $resourceName, Api, v } from 'vona-module-a-openapiutils';
|
|
5
5
|
import { Entity, EntityBase } from 'vona-module-a-orm';
|
|
6
6
|
import { ZovaRender } from 'zova-rest-cabloy-basic-admin';
|
|
7
7
|
|
|
@@ -9,6 +9,11 @@ import { $locale } from '../.metadata/locales.ts';
|
|
|
9
9
|
|
|
10
10
|
export interface IEntityOptionsCategory extends IDecoratorEntityOptions {}
|
|
11
11
|
|
|
12
|
+
export const categoryPublicationItems = [
|
|
13
|
+
{ value: false, title: $locale('Unpublished') },
|
|
14
|
+
{ value: true, title: $locale('Published') },
|
|
15
|
+
];
|
|
16
|
+
|
|
12
17
|
@Entity<IEntityOptionsCategory>('commerceCatalogCategory', {
|
|
13
18
|
openapi: { title: $locale('Category') },
|
|
14
19
|
fields: {
|
|
@@ -41,11 +46,25 @@ export class EntityCategory extends EntityBase {
|
|
|
41
46
|
v.title($locale('ParentCategory')),
|
|
42
47
|
v.optional(),
|
|
43
48
|
ZovaRender.order(2),
|
|
49
|
+
ZovaRender.field('basic-resource:formFieldResourcePicker', {
|
|
50
|
+
resource: $resourceName('commerce-catalog:category'),
|
|
51
|
+
relationName: 'parent',
|
|
52
|
+
}),
|
|
53
|
+
ZovaRender.cell('basic-resource:resourcePicker', {
|
|
54
|
+
resource: $resourceName('commerce-catalog:category'),
|
|
55
|
+
relationName: 'parent',
|
|
56
|
+
}),
|
|
44
57
|
v.tableIdentity(),
|
|
45
58
|
)
|
|
46
59
|
parentId?: TableIdentity;
|
|
47
60
|
|
|
48
|
-
@Api.field(
|
|
61
|
+
@Api.field(
|
|
62
|
+
v.title($locale('Published')),
|
|
63
|
+
v.default(false),
|
|
64
|
+
ZovaRender.order(3),
|
|
65
|
+
ZovaRender.field('basic-select:formFieldSelect', { items: categoryPublicationItems }),
|
|
66
|
+
ZovaRender.cell('basic-select:select', { items: categoryPublicationItems }),
|
|
67
|
+
)
|
|
49
68
|
published: boolean;
|
|
50
69
|
|
|
51
70
|
@Api.field(v.title($locale('Description')), v.optional(), ZovaRender.order(4))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IDecoratorModelOptions } from 'vona-module-a-orm';
|
|
2
2
|
|
|
3
|
-
import { BeanModelBase, Model } from 'vona-module-a-orm';
|
|
3
|
+
import { $relation, BeanModelBase, Model } from 'vona-module-a-orm';
|
|
4
4
|
|
|
5
5
|
import { EntityCategory } from '../entity/category.tsx';
|
|
6
6
|
|
|
@@ -8,6 +8,16 @@ export interface IModelOptionsCategory extends IDecoratorModelOptions<EntityCate
|
|
|
8
8
|
|
|
9
9
|
@Model<IModelOptionsCategory>({
|
|
10
10
|
entity: EntityCategory,
|
|
11
|
+
relations: {
|
|
12
|
+
parent: $relation.belongsTo(
|
|
13
|
+
'commerce-catalog:category',
|
|
14
|
+
'commerce-catalog:category',
|
|
15
|
+
'parentId',
|
|
16
|
+
{
|
|
17
|
+
columns: ['id', 'name'],
|
|
18
|
+
},
|
|
19
|
+
),
|
|
20
|
+
},
|
|
11
21
|
cache: {
|
|
12
22
|
modelsClear: 'commerce-catalog:product',
|
|
13
23
|
},
|
|
@@ -19,11 +19,16 @@ export class ServiceCategory extends BeanBase {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
async select(params?: IQueryParams<ModelCategory>): Promise<DtoCategorySelectRes> {
|
|
22
|
-
return await this.scope.model.category.selectAndCount(
|
|
22
|
+
return await this.scope.model.category.selectAndCount({
|
|
23
|
+
...params,
|
|
24
|
+
include: { parent: true },
|
|
25
|
+
});
|
|
23
26
|
}
|
|
24
27
|
|
|
25
28
|
async view(id: TableIdentity): Promise<DtoCategoryView | undefined> {
|
|
26
|
-
return await this.scope.model.category.getById(id
|
|
29
|
+
return await this.scope.model.category.getById(id, {
|
|
30
|
+
include: { parent: true },
|
|
31
|
+
});
|
|
27
32
|
}
|
|
28
33
|
|
|
29
34
|
async update(id: TableIdentity, category: DtoCategoryUpdate) {
|