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
@@ -1,6 +1,531 @@
1
1
  // eslint-disable
2
+ import type { TypeEntityMeta,TypeModelsClassLikeGeneral,TypeSymbolKeyFieldsMore } from 'vona-module-a-orm';
3
+ import type { TypeEntityOptionsFields,TypeControllerOptionsActions } from 'vona-module-a-openapi';
4
+ import type { TableIdentity } from 'table-identity';
5
+ /** entity: begin */
6
+ export * from '../entity/couponAudit.tsx';
7
+ export * from '../entity/couponGrant.tsx';
8
+ export * from '../entity/couponTemplate.tsx';
9
+ import type { IEntityOptionsCouponAudit } from '../entity/couponAudit.tsx';
10
+ import type { IEntityOptionsCouponGrant } from '../entity/couponGrant.tsx';
11
+ import type { IEntityOptionsCouponTemplate } from '../entity/couponTemplate.tsx';
12
+ import 'vona-module-a-orm';
13
+ declare module 'vona-module-a-orm' {
14
+
15
+ export interface IEntityRecord {
16
+ 'commerce-promotion:couponAudit': IEntityOptionsCouponAudit;
17
+ 'commerce-promotion:couponGrant': IEntityOptionsCouponGrant;
18
+ 'commerce-promotion:couponTemplate': IEntityOptionsCouponTemplate;
19
+ }
20
+
21
+
22
+ }
23
+ declare module 'vona-module-commerce-promotion' {
24
+
25
+ }
26
+ /** entity: end */
27
+ /** entity: begin */
28
+ import type { EntityCouponAudit } from '../entity/couponAudit.tsx';
29
+ import type { EntityCouponGrant } from '../entity/couponGrant.tsx';
30
+ import type { EntityCouponTemplate } from '../entity/couponTemplate.tsx';
31
+ export interface IModuleEntity {
32
+ 'couponAudit': EntityCouponAuditMeta;
33
+ 'couponGrant': EntityCouponGrantMeta;
34
+ 'couponTemplate': EntityCouponTemplateMeta;
35
+ }
36
+ /** entity: end */
37
+ /** entity: begin */
38
+ export type EntityCouponAuditTableName = 'commercePromotionCouponAudit';
39
+ export type EntityCouponGrantTableName = 'commercePromotionCouponGrant';
40
+ export type EntityCouponTemplateTableName = 'commercePromotionCouponTemplate';
41
+ export type EntityCouponAuditMeta=TypeEntityMeta<EntityCouponAudit,EntityCouponAuditTableName>;
42
+ export type EntityCouponGrantMeta=TypeEntityMeta<EntityCouponGrant,EntityCouponGrantTableName>;
43
+ export type EntityCouponTemplateMeta=TypeEntityMeta<EntityCouponTemplate,EntityCouponTemplateTableName>;
44
+ declare module 'vona-module-a-orm' {
45
+ export interface ITableRecord {
46
+ 'commercePromotionCouponAudit': EntityCouponAuditMeta;
47
+ 'commercePromotionCouponGrant': EntityCouponGrantMeta;
48
+ 'commercePromotionCouponTemplate': EntityCouponTemplateMeta;
49
+ }
50
+ }
51
+ declare module 'vona-module-commerce-promotion' {
52
+
53
+ export interface IEntityOptionsCouponAudit {
54
+ fields?: TypeEntityOptionsFields<EntityCouponAudit, IEntityOptionsCouponAudit[TypeSymbolKeyFieldsMore]>;
55
+ }
56
+
57
+ export interface IEntityOptionsCouponGrant {
58
+ fields?: TypeEntityOptionsFields<EntityCouponGrant, IEntityOptionsCouponGrant[TypeSymbolKeyFieldsMore]>;
59
+ }
60
+
61
+ export interface IEntityOptionsCouponTemplate {
62
+ fields?: TypeEntityOptionsFields<EntityCouponTemplate, IEntityOptionsCouponTemplate[TypeSymbolKeyFieldsMore]>;
63
+ }
64
+ }
65
+ /** entity: end */
66
+ /** model: begin */
67
+ export * from '../model/couponAudit.ts';
68
+ export * from '../model/couponGrant.ts';
69
+ export * from '../model/couponTemplate.ts';
70
+ import type { IModelOptionsCouponAudit } from '../model/couponAudit.ts';
71
+ import type { IModelOptionsCouponGrant } from '../model/couponGrant.ts';
72
+ import type { IModelOptionsCouponTemplate } from '../model/couponTemplate.ts';
73
+ import 'vona-module-a-orm';
74
+ declare module 'vona-module-a-orm' {
75
+
76
+ export interface IModelRecord {
77
+ 'commerce-promotion:couponAudit': IModelOptionsCouponAudit;
78
+ 'commerce-promotion:couponGrant': IModelOptionsCouponGrant;
79
+ 'commerce-promotion:couponTemplate': IModelOptionsCouponTemplate;
80
+ }
81
+
82
+
83
+ }
84
+ declare module 'vona-module-commerce-promotion' {
85
+
86
+ export interface ModelCouponAudit {
87
+ /** @internal */
88
+ get scope(): ScopeModuleCommercePromotion;
89
+ }
90
+
91
+ export interface ModelCouponAudit {
92
+ get $beanFullName(): 'commerce-promotion.model.couponAudit';
93
+ get $onionName(): 'commerce-promotion:couponAudit';
94
+ get $onionOptions(): IModelOptionsCouponAudit;
95
+ }
96
+
97
+ export interface ModelCouponGrant {
98
+ /** @internal */
99
+ get scope(): ScopeModuleCommercePromotion;
100
+ }
101
+
102
+ export interface ModelCouponGrant {
103
+ get $beanFullName(): 'commerce-promotion.model.couponGrant';
104
+ get $onionName(): 'commerce-promotion:couponGrant';
105
+ get $onionOptions(): IModelOptionsCouponGrant;
106
+ }
107
+
108
+ export interface ModelCouponTemplate {
109
+ /** @internal */
110
+ get scope(): ScopeModuleCommercePromotion;
111
+ }
112
+
113
+ export interface ModelCouponTemplate {
114
+ get $beanFullName(): 'commerce-promotion.model.couponTemplate';
115
+ get $onionName(): 'commerce-promotion:couponTemplate';
116
+ get $onionOptions(): IModelOptionsCouponTemplate;
117
+ }
118
+ }
119
+ /** model: end */
120
+ /** model: begin */
121
+ import type { ModelCouponAudit } from '../model/couponAudit.ts';
122
+ import type { ModelCouponGrant } from '../model/couponGrant.ts';
123
+ import type { ModelCouponTemplate } from '../model/couponTemplate.ts';
124
+ export interface IModuleModel {
125
+ 'couponAudit': ModelCouponAudit;
126
+ 'couponGrant': ModelCouponGrant;
127
+ 'couponTemplate': ModelCouponTemplate;
128
+ }
129
+ /** model: end */
130
+ /** model: begin */
131
+
132
+ import 'vona';
133
+ declare module 'vona' {
134
+ export interface IBeanRecordGeneral {
135
+ 'commerce-promotion.model.couponAudit': ModelCouponAudit;
136
+ 'commerce-promotion.model.couponGrant': ModelCouponGrant;
137
+ 'commerce-promotion.model.couponTemplate': ModelCouponTemplate;
138
+ }
139
+ }
140
+ /** model: end */
141
+ /** model: begin */
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
+ import { SymbolKeyEntity, SymbolKeyEntityMeta, SymbolKeyModelOptions } from 'vona-module-a-orm';
144
+ declare module 'vona-module-commerce-promotion' {
145
+
146
+ export interface ModelCouponAudit {
147
+ [SymbolKeyEntity]: EntityCouponAudit;
148
+ [SymbolKeyEntityMeta]: EntityCouponAuditMeta;
149
+ [SymbolKeyModelOptions]: IModelOptionsCouponAudit;
150
+ get<T extends IModelGetOptions<EntityCouponAudit,ModelCouponAudit>>(where: TypeModelWhere<EntityCouponAudit>, options?: T): Promise<TypeModelRelationResult<EntityCouponAudit, ModelCouponAudit, T> | undefined>;
151
+ getForUpdate<T extends IModelGetOptions<EntityCouponAudit,ModelCouponAudit>>(where: TypeModelWhere<EntityCouponAudit>, options?: T): Promise<TypeModelRelationResult<EntityCouponAudit, ModelCouponAudit, T> | undefined>;
152
+ getByIdForUpdate<T extends IModelGetOptions<EntityCouponAudit,ModelCouponAudit>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityCouponAudit, ModelCouponAudit, T> | undefined>;
153
+ mget<T extends IModelGetOptions<EntityCouponAudit,ModelCouponAudit>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityCouponAudit, ModelCouponAudit, T>[]>;
154
+ selectAndCount<T extends IModelSelectParams<EntityCouponAudit,ModelCouponAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelSelectAndCount<EntityCouponAudit, ModelCouponAudit, T>>;
155
+ select<T extends IModelSelectParams<EntityCouponAudit,ModelCouponAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityCouponAudit, ModelCouponAudit, T>[]>;
156
+ insert<T extends IModelInsertOptions<EntityCouponAudit,ModelCouponAudit>>(data?: TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T>, options?: T): Promise<TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T, true>>;
157
+ insertBulk<T extends IModelInsertOptions<EntityCouponAudit,ModelCouponAudit>>(items: TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T, true>[]>;
158
+ update<T extends IModelUpdateOptions<EntityCouponAudit,ModelCouponAudit>>(data: TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T>, options?: T): Promise<TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T>>;
159
+ updateBulk<T extends IModelUpdateOptions<EntityCouponAudit,ModelCouponAudit>>(items: TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T>[]>;
160
+ delete<T extends IModelDeleteOptions<EntityCouponAudit,ModelCouponAudit>>(where?: TypeModelWhere<EntityCouponAudit>, options?: T): Promise<void>;
161
+ deleteBulk<T extends IModelDeleteOptions<EntityCouponAudit,ModelCouponAudit>>(ids: TableIdentity[], options?: T): Promise<void>;
162
+ mutate<T extends IModelMutateOptions<EntityCouponAudit,ModelCouponAudit>>(data?: TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T>, options?: T): Promise<TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T>>;
163
+ mutateBulk<T extends IModelMutateOptions<EntityCouponAudit,ModelCouponAudit>>(items: TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T>[]>;
164
+ count<T extends IModelSelectCountParams<EntityCouponAudit,ModelCouponAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<string | undefined>;
165
+ increment<T extends IModelIncrementParams<EntityCouponAudit,ModelCouponAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
166
+ decrement<T extends IModelIncrementParams<EntityCouponAudit,ModelCouponAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
167
+ aggregate<T extends IModelSelectAggrParams<EntityCouponAudit,ModelCouponAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelAggrRelationResult<T>>;
168
+ group<T extends IModelSelectGroupParams<EntityCouponAudit,ModelCouponAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelGroupRelationResult<EntityCouponAudit, T>[]>;
169
+ getById<T extends IModelGetOptions<EntityCouponAudit,ModelCouponAudit>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityCouponAudit, ModelCouponAudit, T> | undefined>;
170
+ updateById<T extends IModelUpdateOptions<EntityCouponAudit,ModelCouponAudit>>(id: TableIdentity, data: TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T>, options?: T): Promise<TypeModelMutateRelationData<EntityCouponAudit,ModelCouponAudit, T>>;
171
+ deleteById<T extends IModelDeleteOptions<EntityCouponAudit,ModelCouponAudit>>(id: TableIdentity, options?: T): Promise<void>;
172
+ }
173
+ export interface ModelCouponGrant {
174
+ [SymbolKeyEntity]: EntityCouponGrant;
175
+ [SymbolKeyEntityMeta]: EntityCouponGrantMeta;
176
+ [SymbolKeyModelOptions]: IModelOptionsCouponGrant;
177
+ get<T extends IModelGetOptions<EntityCouponGrant,ModelCouponGrant>>(where: TypeModelWhere<EntityCouponGrant>, options?: T): Promise<TypeModelRelationResult<EntityCouponGrant, ModelCouponGrant, T> | undefined>;
178
+ getForUpdate<T extends IModelGetOptions<EntityCouponGrant,ModelCouponGrant>>(where: TypeModelWhere<EntityCouponGrant>, options?: T): Promise<TypeModelRelationResult<EntityCouponGrant, ModelCouponGrant, T> | undefined>;
179
+ getByIdForUpdate<T extends IModelGetOptions<EntityCouponGrant,ModelCouponGrant>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityCouponGrant, ModelCouponGrant, T> | undefined>;
180
+ mget<T extends IModelGetOptions<EntityCouponGrant,ModelCouponGrant>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityCouponGrant, ModelCouponGrant, T>[]>;
181
+ selectAndCount<T extends IModelSelectParams<EntityCouponGrant,ModelCouponGrant,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelSelectAndCount<EntityCouponGrant, ModelCouponGrant, T>>;
182
+ select<T extends IModelSelectParams<EntityCouponGrant,ModelCouponGrant,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityCouponGrant, ModelCouponGrant, T>[]>;
183
+ insert<T extends IModelInsertOptions<EntityCouponGrant,ModelCouponGrant>>(data?: TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T>, options?: T): Promise<TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T, true>>;
184
+ insertBulk<T extends IModelInsertOptions<EntityCouponGrant,ModelCouponGrant>>(items: TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T, true>[]>;
185
+ update<T extends IModelUpdateOptions<EntityCouponGrant,ModelCouponGrant>>(data: TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T>, options?: T): Promise<TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T>>;
186
+ updateBulk<T extends IModelUpdateOptions<EntityCouponGrant,ModelCouponGrant>>(items: TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T>[]>;
187
+ delete<T extends IModelDeleteOptions<EntityCouponGrant,ModelCouponGrant>>(where?: TypeModelWhere<EntityCouponGrant>, options?: T): Promise<void>;
188
+ deleteBulk<T extends IModelDeleteOptions<EntityCouponGrant,ModelCouponGrant>>(ids: TableIdentity[], options?: T): Promise<void>;
189
+ mutate<T extends IModelMutateOptions<EntityCouponGrant,ModelCouponGrant>>(data?: TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T>, options?: T): Promise<TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T>>;
190
+ mutateBulk<T extends IModelMutateOptions<EntityCouponGrant,ModelCouponGrant>>(items: TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T>[]>;
191
+ count<T extends IModelSelectCountParams<EntityCouponGrant,ModelCouponGrant,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<string | undefined>;
192
+ increment<T extends IModelIncrementParams<EntityCouponGrant,ModelCouponGrant,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
193
+ decrement<T extends IModelIncrementParams<EntityCouponGrant,ModelCouponGrant,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
194
+ aggregate<T extends IModelSelectAggrParams<EntityCouponGrant,ModelCouponGrant,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelAggrRelationResult<T>>;
195
+ group<T extends IModelSelectGroupParams<EntityCouponGrant,ModelCouponGrant,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelGroupRelationResult<EntityCouponGrant, T>[]>;
196
+ getById<T extends IModelGetOptions<EntityCouponGrant,ModelCouponGrant>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityCouponGrant, ModelCouponGrant, T> | undefined>;
197
+ updateById<T extends IModelUpdateOptions<EntityCouponGrant,ModelCouponGrant>>(id: TableIdentity, data: TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T>, options?: T): Promise<TypeModelMutateRelationData<EntityCouponGrant,ModelCouponGrant, T>>;
198
+ deleteById<T extends IModelDeleteOptions<EntityCouponGrant,ModelCouponGrant>>(id: TableIdentity, options?: T): Promise<void>;
199
+ }
200
+ export interface ModelCouponTemplate {
201
+ [SymbolKeyEntity]: EntityCouponTemplate;
202
+ [SymbolKeyEntityMeta]: EntityCouponTemplateMeta;
203
+ [SymbolKeyModelOptions]: IModelOptionsCouponTemplate;
204
+ get<T extends IModelGetOptions<EntityCouponTemplate,ModelCouponTemplate>>(where: TypeModelWhere<EntityCouponTemplate>, options?: T): Promise<TypeModelRelationResult<EntityCouponTemplate, ModelCouponTemplate, T> | undefined>;
205
+ getForUpdate<T extends IModelGetOptions<EntityCouponTemplate,ModelCouponTemplate>>(where: TypeModelWhere<EntityCouponTemplate>, options?: T): Promise<TypeModelRelationResult<EntityCouponTemplate, ModelCouponTemplate, T> | undefined>;
206
+ getByIdForUpdate<T extends IModelGetOptions<EntityCouponTemplate,ModelCouponTemplate>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityCouponTemplate, ModelCouponTemplate, T> | undefined>;
207
+ mget<T extends IModelGetOptions<EntityCouponTemplate,ModelCouponTemplate>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityCouponTemplate, ModelCouponTemplate, T>[]>;
208
+ selectAndCount<T extends IModelSelectParams<EntityCouponTemplate,ModelCouponTemplate,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelSelectAndCount<EntityCouponTemplate, ModelCouponTemplate, T>>;
209
+ select<T extends IModelSelectParams<EntityCouponTemplate,ModelCouponTemplate,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityCouponTemplate, ModelCouponTemplate, T>[]>;
210
+ insert<T extends IModelInsertOptions<EntityCouponTemplate,ModelCouponTemplate>>(data?: TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T>, options?: T): Promise<TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T, true>>;
211
+ insertBulk<T extends IModelInsertOptions<EntityCouponTemplate,ModelCouponTemplate>>(items: TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T, true>[]>;
212
+ update<T extends IModelUpdateOptions<EntityCouponTemplate,ModelCouponTemplate>>(data: TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T>, options?: T): Promise<TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T>>;
213
+ updateBulk<T extends IModelUpdateOptions<EntityCouponTemplate,ModelCouponTemplate>>(items: TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T>[]>;
214
+ delete<T extends IModelDeleteOptions<EntityCouponTemplate,ModelCouponTemplate>>(where?: TypeModelWhere<EntityCouponTemplate>, options?: T): Promise<void>;
215
+ deleteBulk<T extends IModelDeleteOptions<EntityCouponTemplate,ModelCouponTemplate>>(ids: TableIdentity[], options?: T): Promise<void>;
216
+ mutate<T extends IModelMutateOptions<EntityCouponTemplate,ModelCouponTemplate>>(data?: TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T>, options?: T): Promise<TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T>>;
217
+ mutateBulk<T extends IModelMutateOptions<EntityCouponTemplate,ModelCouponTemplate>>(items: TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T>[]>;
218
+ count<T extends IModelSelectCountParams<EntityCouponTemplate,ModelCouponTemplate,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<string | undefined>;
219
+ increment<T extends IModelIncrementParams<EntityCouponTemplate,ModelCouponTemplate,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
220
+ decrement<T extends IModelIncrementParams<EntityCouponTemplate,ModelCouponTemplate,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
221
+ aggregate<T extends IModelSelectAggrParams<EntityCouponTemplate,ModelCouponTemplate,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelAggrRelationResult<T>>;
222
+ group<T extends IModelSelectGroupParams<EntityCouponTemplate,ModelCouponTemplate,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelGroupRelationResult<EntityCouponTemplate, T>[]>;
223
+ getById<T extends IModelGetOptions<EntityCouponTemplate,ModelCouponTemplate>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityCouponTemplate, ModelCouponTemplate, T> | undefined>;
224
+ updateById<T extends IModelUpdateOptions<EntityCouponTemplate,ModelCouponTemplate>>(id: TableIdentity, data: TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T>, options?: T): Promise<TypeModelMutateRelationData<EntityCouponTemplate,ModelCouponTemplate, T>>;
225
+ deleteById<T extends IModelDeleteOptions<EntityCouponTemplate,ModelCouponTemplate>>(id: TableIdentity, options?: T): Promise<void>;
226
+ getByName<T extends IModelGetOptions<EntityCouponTemplate,ModelCouponTemplate>>(name?: string, options?: T): Promise<TypeModelRelationResult<EntityCouponTemplate, ModelCouponTemplate, T> | undefined>;
227
+ getByNameEqI<T extends IModelGetOptions<EntityCouponTemplate,ModelCouponTemplate>>(name?: string, options?: T): Promise<TypeModelRelationResult<EntityCouponTemplate, ModelCouponTemplate, T> | undefined>;
228
+ selectByName<T extends IModelSelectParams<EntityCouponTemplate,ModelCouponTemplate,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(name?: string, params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityCouponTemplate, ModelCouponTemplate, T>[]>;
229
+ selectByNameEqI<T extends IModelSelectParams<EntityCouponTemplate,ModelCouponTemplate,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(name?: string, params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityCouponTemplate, ModelCouponTemplate, T>[]>;
230
+ }
231
+ }
232
+ declare module 'vona-module-a-orm' {
233
+ export interface IModelClassRecord {
234
+ 'commerce-promotion:couponAudit': ModelCouponAudit;
235
+ 'commerce-promotion:couponGrant': ModelCouponGrant;
236
+ 'commerce-promotion:couponTemplate': ModelCouponTemplate;
237
+ }
238
+ }
239
+ /** model: end */
240
+ /** service: begin */
241
+ export * from '../service/coupon.ts';
242
+ export * from '../service/couponTemplate.ts';
243
+
244
+ import 'vona-module-a-bean';
245
+ declare module 'vona-module-a-bean' {
246
+
247
+ export interface IServiceRecord {
248
+ 'commerce-promotion:coupon': never;
249
+ 'commerce-promotion:couponTemplate': never;
250
+ }
251
+
252
+
253
+ }
254
+ declare module 'vona-module-commerce-promotion' {
255
+
256
+ export interface ServiceCoupon {
257
+ /** @internal */
258
+ get scope(): ScopeModuleCommercePromotion;
259
+ }
260
+
261
+ export interface ServiceCoupon {
262
+ get $beanFullName(): 'commerce-promotion.service.coupon';
263
+ get $onionName(): 'commerce-promotion:coupon';
264
+
265
+ }
266
+
267
+ export interface ServiceCouponTemplate {
268
+ /** @internal */
269
+ get scope(): ScopeModuleCommercePromotion;
270
+ }
271
+
272
+ export interface ServiceCouponTemplate {
273
+ get $beanFullName(): 'commerce-promotion.service.couponTemplate';
274
+ get $onionName(): 'commerce-promotion:couponTemplate';
275
+
276
+ }
277
+ }
278
+ /** service: end */
279
+ /** service: begin */
280
+ import type { ServiceCoupon } from '../service/coupon.ts';
281
+ import type { ServiceCouponTemplate } from '../service/couponTemplate.ts';
282
+ export interface IModuleService {
283
+ 'coupon': ServiceCoupon;
284
+ 'couponTemplate': ServiceCouponTemplate;
285
+ }
286
+ /** service: end */
287
+ /** service: begin */
288
+
289
+ import 'vona';
290
+ declare module 'vona' {
291
+ export interface IBeanRecordGeneral {
292
+ 'commerce-promotion.service.coupon': ServiceCoupon;
293
+ 'commerce-promotion.service.couponTemplate': ServiceCouponTemplate;
294
+ }
295
+ }
296
+ /** service: end */
297
+ /** meta: begin */
298
+ export * from '../bean/meta.index.ts';
299
+ export * from '../bean/meta.version.ts';
300
+ import type { IMetaOptionsIndex } from 'vona-module-a-index';
301
+ import 'vona-module-a-meta';
302
+ declare module 'vona-module-a-meta' {
303
+
304
+ export interface IMetaRecord {
305
+ 'commerce-promotion:index': IMetaOptionsIndex;
306
+ 'commerce-promotion:version': never;
307
+ }
308
+
309
+
310
+ }
311
+ declare module 'vona-module-commerce-promotion' {
312
+
313
+ export interface MetaIndex {
314
+ /** @internal */
315
+ get scope(): ScopeModuleCommercePromotion;
316
+ }
317
+
318
+ export interface MetaIndex {
319
+ get $beanFullName(): 'commerce-promotion.meta.index';
320
+ get $onionName(): 'commerce-promotion:index';
321
+ get $onionOptions(): IMetaOptionsIndex;
322
+ }
323
+
324
+ export interface MetaVersion {
325
+ /** @internal */
326
+ get scope(): ScopeModuleCommercePromotion;
327
+ }
328
+
329
+ export interface MetaVersion {
330
+ get $beanFullName(): 'commerce-promotion.meta.version';
331
+ get $onionName(): 'commerce-promotion:version';
332
+
333
+ }
334
+ }
335
+ /** meta: end */
336
+ /** dto: begin */
337
+ export * from '../dto/couponIssue.tsx';
338
+ export * from '../dto/couponMineItem.tsx';
339
+ export * from '../dto/couponTemplateCreate.tsx';
340
+ export * from '../dto/couponTemplateSelectReq.tsx';
341
+ export * from '../dto/couponTemplateSelectRes.tsx';
342
+ export * from '../dto/couponTemplateSelectResItem.tsx';
343
+ export * from '../dto/couponTemplateUpdate.tsx';
344
+ export * from '../dto/couponTemplateView.tsx';
345
+ import type { IDtoOptionsCouponIssue } from '../dto/couponIssue.tsx';
346
+ import type { IDtoOptionsCouponMineItem } from '../dto/couponMineItem.tsx';
347
+ import type { IDtoOptionsCouponTemplateCreate } from '../dto/couponTemplateCreate.tsx';
348
+ import type { IDtoOptionsCouponTemplateSelectReq } from '../dto/couponTemplateSelectReq.tsx';
349
+ import type { IDtoOptionsCouponTemplateSelectRes } from '../dto/couponTemplateSelectRes.tsx';
350
+ import type { IDtoOptionsCouponTemplateSelectResItem } from '../dto/couponTemplateSelectResItem.tsx';
351
+ import type { IDtoOptionsCouponTemplateUpdate } from '../dto/couponTemplateUpdate.tsx';
352
+ import type { IDtoOptionsCouponTemplateView } from '../dto/couponTemplateView.tsx';
353
+ import 'vona-module-a-web';
354
+ declare module 'vona-module-a-web' {
355
+
356
+ export interface IDtoRecord {
357
+ 'commerce-promotion:couponIssue': IDtoOptionsCouponIssue;
358
+ 'commerce-promotion:couponMineItem': IDtoOptionsCouponMineItem;
359
+ 'commerce-promotion:couponTemplateCreate': IDtoOptionsCouponTemplateCreate;
360
+ 'commerce-promotion:couponTemplateSelectReq': IDtoOptionsCouponTemplateSelectReq;
361
+ 'commerce-promotion:couponTemplateSelectRes': IDtoOptionsCouponTemplateSelectRes;
362
+ 'commerce-promotion:couponTemplateSelectResItem': IDtoOptionsCouponTemplateSelectResItem;
363
+ 'commerce-promotion:couponTemplateUpdate': IDtoOptionsCouponTemplateUpdate;
364
+ 'commerce-promotion:couponTemplateView': IDtoOptionsCouponTemplateView;
365
+ }
366
+
367
+
368
+ }
369
+ declare module 'vona-module-commerce-promotion' {
370
+
371
+ }
372
+ /** dto: end */
373
+ /** dto: begin */
374
+ import type { DtoCouponIssue } from '../dto/couponIssue.tsx';
375
+ import type { DtoCouponMineItem } from '../dto/couponMineItem.tsx';
376
+ import type { DtoCouponTemplateCreate } from '../dto/couponTemplateCreate.tsx';
377
+ import type { DtoCouponTemplateSelectReq } from '../dto/couponTemplateSelectReq.tsx';
378
+ import type { DtoCouponTemplateSelectRes } from '../dto/couponTemplateSelectRes.tsx';
379
+ import type { DtoCouponTemplateSelectResItem } from '../dto/couponTemplateSelectResItem.tsx';
380
+ import type { DtoCouponTemplateUpdate } from '../dto/couponTemplateUpdate.tsx';
381
+ import type { DtoCouponTemplateView } from '../dto/couponTemplateView.tsx';
382
+ declare module 'vona-module-commerce-promotion' {
383
+
384
+ export interface IDtoOptionsCouponIssue {
385
+ fields?: TypeEntityOptionsFields<DtoCouponIssue, IDtoOptionsCouponIssue[TypeSymbolKeyFieldsMore]>;
386
+ }
387
+
388
+ export interface IDtoOptionsCouponMineItem {
389
+ fields?: TypeEntityOptionsFields<DtoCouponMineItem, IDtoOptionsCouponMineItem[TypeSymbolKeyFieldsMore]>;
390
+ }
391
+
392
+ export interface IDtoOptionsCouponTemplateCreate {
393
+ fields?: TypeEntityOptionsFields<DtoCouponTemplateCreate, IDtoOptionsCouponTemplateCreate[TypeSymbolKeyFieldsMore]>;
394
+ }
395
+
396
+ export interface IDtoOptionsCouponTemplateSelectReq {
397
+ fields?: TypeEntityOptionsFields<DtoCouponTemplateSelectReq, IDtoOptionsCouponTemplateSelectReq[TypeSymbolKeyFieldsMore]>;
398
+ }
399
+
400
+ export interface IDtoOptionsCouponTemplateSelectRes {
401
+ fields?: TypeEntityOptionsFields<DtoCouponTemplateSelectRes, IDtoOptionsCouponTemplateSelectRes[TypeSymbolKeyFieldsMore]>;
402
+ }
403
+
404
+ export interface IDtoOptionsCouponTemplateSelectResItem {
405
+ fields?: TypeEntityOptionsFields<DtoCouponTemplateSelectResItem, IDtoOptionsCouponTemplateSelectResItem[TypeSymbolKeyFieldsMore]>;
406
+ }
407
+
408
+ export interface IDtoOptionsCouponTemplateUpdate {
409
+ fields?: TypeEntityOptionsFields<DtoCouponTemplateUpdate, IDtoOptionsCouponTemplateUpdate[TypeSymbolKeyFieldsMore]>;
410
+ }
411
+
412
+ export interface IDtoOptionsCouponTemplateView {
413
+ fields?: TypeEntityOptionsFields<DtoCouponTemplateView, IDtoOptionsCouponTemplateView[TypeSymbolKeyFieldsMore]>;
414
+ }
415
+ }
416
+ /** dto: end */
417
+ /** controller: begin */
418
+ export * from '../controller/coupon.ts';
419
+ export * from '../controller/couponTemplate.ts';
420
+ import type { IControllerOptionsCoupon } from '../controller/coupon.ts';
421
+ import type { IControllerOptionsCouponTemplate } from '../controller/couponTemplate.ts';
422
+ import 'vona-module-a-web';
423
+ declare module 'vona-module-a-web' {
424
+
425
+ export interface IControllerRecord {
426
+ 'commerce-promotion:coupon': IControllerOptionsCoupon;
427
+ 'commerce-promotion:couponTemplate': IControllerOptionsCouponTemplate;
428
+ }
429
+
430
+
431
+ }
432
+ declare module 'vona-module-commerce-promotion' {
433
+
434
+ export interface ControllerCoupon {
435
+ /** @internal */
436
+ get scope(): ScopeModuleCommercePromotion;
437
+ }
438
+
439
+ export interface ControllerCoupon {
440
+ get $beanFullName(): 'commerce-promotion.controller.coupon';
441
+ get $onionName(): 'commerce-promotion:coupon';
442
+ get $onionOptions(): IControllerOptionsCoupon;
443
+ }
444
+
445
+ export interface ControllerCouponTemplate {
446
+ /** @internal */
447
+ get scope(): ScopeModuleCommercePromotion;
448
+ }
449
+
450
+ export interface ControllerCouponTemplate {
451
+ get $beanFullName(): 'commerce-promotion.controller.couponTemplate';
452
+ get $onionName(): 'commerce-promotion:couponTemplate';
453
+ get $onionOptions(): IControllerOptionsCouponTemplate;
454
+ }
455
+ }
456
+ /** controller: end */
457
+ /** controller: begin */
458
+ // @ts-ignore ignore
459
+ import type { ControllerCoupon } from '../controller/coupon.ts';
460
+ // @ts-ignore ignore
461
+ import type { ControllerCouponTemplate } from '../controller/couponTemplate.ts';
462
+ declare module 'vona-module-commerce-promotion' {
463
+
464
+ export interface IControllerOptionsCoupon {
465
+ actions?: TypeControllerOptionsActions<ControllerCoupon>;
466
+ }
467
+
468
+ export interface IControllerOptionsCouponTemplate {
469
+ actions?: TypeControllerOptionsActions<ControllerCouponTemplate>;
470
+ }
471
+ }
472
+ declare module 'vona-module-a-web' {
473
+ export interface IApiPathGetRecord{
474
+ '/commerce/promotion/coupon/mine': undefined;
475
+ '/commerce/promotion/couponTemplate': undefined;
476
+ '/commerce/promotion/couponTemplate/:id': undefined;
477
+ }
478
+ export interface IApiPathPostRecord{
479
+ '/commerce/promotion/coupon/issue': undefined;
480
+ '/commerce/promotion/couponTemplate': undefined;
481
+ }
482
+ export interface IApiPathPatchRecord{
483
+ '/commerce/promotion/couponTemplate/:id': undefined;
484
+ }
485
+ export interface IApiPathDeleteRecord{
486
+ '/commerce/promotion/couponTemplate/:id': undefined;
487
+ }
488
+
489
+ }
490
+ import 'vona-module-a-openapi';
491
+ declare module 'vona-module-a-openapi' {
492
+ export interface IResourceRecord {
493
+ 'commerce-promotion:couponTemplate': never;
494
+ }
495
+ }
496
+
497
+ /** controller: end */
498
+ /** ssrMenu: begin */
499
+ export * from '../bean/ssrMenu.couponTemplate.ts';
500
+ import type { ISsrMenuOptionsCouponTemplate } from '../bean/ssrMenu.couponTemplate.ts';
501
+ import 'vona-module-a-ssr';
502
+ declare module 'vona-module-a-ssr' {
503
+
504
+ export interface ISsrMenuRecord {
505
+ 'commerce-promotion:couponTemplate': ISsrMenuOptionsCouponTemplate;
506
+ }
507
+
508
+
509
+ }
510
+ declare module 'vona-module-commerce-promotion' {
511
+
512
+ export interface SsrMenuCouponTemplate {
513
+ /** @internal */
514
+ get scope(): ScopeModuleCommercePromotion;
515
+ }
516
+
517
+ export interface SsrMenuCouponTemplate {
518
+ get $beanFullName(): 'commerce-promotion.ssrMenu.couponTemplate';
519
+ get $onionName(): 'commerce-promotion:couponTemplate';
520
+ get $onionOptions(): ISsrMenuOptionsCouponTemplate;
521
+ }
522
+ }
523
+ /** ssrMenu: end */
524
+ /** locale: begin */
525
+ import { locales } from './locales.ts';
526
+ /** locale: end */
2
527
  /** scope: begin */
3
- import { BeanScopeBase, type BeanScopeUtil } from 'vona';
528
+ import { BeanScopeBase, type BeanScopeUtil, type TypeModuleLocales, type TypeLocaleBase } from 'vona';
4
529
  import { Scope } from 'vona-module-a-bean';
5
530
 
6
531
  @Scope()
@@ -8,6 +533,10 @@ export class ScopeModuleCommercePromotion extends BeanScopeBase {}
8
533
 
9
534
  export interface ScopeModuleCommercePromotion {
10
535
  util: BeanScopeUtil;
536
+ locale: TypeModuleLocales<(typeof locales)[TypeLocaleBase]>;
537
+ entity: IModuleEntity;
538
+ model: IModuleModel;
539
+ service: IModuleService;
11
540
  }
12
541
 
13
542
  import 'vona';
@@ -22,7 +551,9 @@ declare module 'vona' {
22
551
 
23
552
 
24
553
 
25
-
554
+ export interface IBeanScopeLocale {
555
+ 'commerce-promotion': (typeof locales)[TypeLocaleBase];
556
+ }
26
557
 
27
558
 
28
559
  }
@@ -0,0 +1,18 @@
1
+ import type { TypeLocaleBase } from 'vona';
2
+
3
+ import { $makeLocaleMagic } from 'vona';
4
+
5
+ import locale_en_us from '../config/locale/en-us.ts';
6
+ import locale_zh_cn from '../config/locale/zh-cn.ts';
7
+
8
+ export const locales = {
9
+ 'en-us': locale_en_us,
10
+ 'zh-cn': locale_zh_cn,
11
+ };
12
+
13
+ export function $locale<K extends keyof (typeof locales)[TypeLocaleBase]>(
14
+ key: K,
15
+ ...args: any[]
16
+ ): any {
17
+ return $makeLocaleMagic(`commerce-promotion::${key}`, ...args);
18
+ }
@@ -0,0 +1,24 @@
1
+ import type { IMetaOptionsIndex } from 'vona-module-a-index';
2
+
3
+ import { BeanBase } from 'vona';
4
+ import { Meta } from 'vona-module-a-meta';
5
+ import { $tableColumns } from 'vona-module-a-ormutils';
6
+
7
+ @Meta<IMetaOptionsIndex>({
8
+ indexes: {
9
+ ...$tableColumns('commercePromotionCouponTemplate', 'state'),
10
+ ...$tableColumns('commercePromotionCouponTemplate', 'validUntil'),
11
+ ...$tableColumns('commercePromotionCouponGrant', 'templateId'),
12
+ ...$tableColumns('commercePromotionCouponGrant', 'userId'),
13
+ ...$tableColumns('commercePromotionCouponGrant', 'state'),
14
+ ...$tableColumns('commercePromotionCouponGrant', 'validUntilSnapshot'),
15
+ ...$tableColumns('commercePromotionCouponGrant', 'reservationOrderId'),
16
+ ...$tableColumns('commercePromotionCouponGrant', 'reservationCorrelationId'),
17
+ ...$tableColumns('commercePromotionCouponGrant', 'redeemedOrderId'),
18
+ ...$tableColumns('commercePromotionCouponAudit', 'couponGrantId'),
19
+ ...$tableColumns('commercePromotionCouponAudit', 'templateId'),
20
+ ...$tableColumns('commercePromotionCouponAudit', 'orderId'),
21
+ ...$tableColumns('commercePromotionCouponAudit', 'correlationId'),
22
+ },
23
+ })
24
+ export class MetaIndex extends BeanBase {}