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.
- package/.cabloy-version +1 -1
- package/.claude/skills/cabloy-backend-scaffold/references/follow-up-checklist.md +4 -0
- package/.github/workflows/vona-test-mysql.yml +12 -0
- package/.github/workflows/vona-test-pg.yml +5 -1
- package/CHANGELOG.md +20 -0
- package/CLAUDE.md +4 -0
- package/cabloy-docs/backend/internal-aop-guide.md +35 -0
- package/cabloy-docs/backend/unit-testing.md +72 -1
- package/package.json +1 -1
- package/vona/packages-cli/cli/package.json +1 -1
- package/vona/packages-cli/cli-set-api/package.json +1 -1
- package/vona/packages-cli/cli-set-api/toolsIsolate/test.ts +26 -13
- package/vona/packages-utils/compose/package.json +1 -1
- package/vona/packages-utils/compose/src/index.ts +19 -11
- 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/beanContainer.ts +15 -3
- package/vona/packages-vona/vona-mock/package.json +1 -1
- package/vona/pnpm-lock.yaml +143 -12
- package/vona/pnpm-workspace.yaml +1 -1
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/.metadata/index.ts +8 -0
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/bean/meta.version.ts +1 -0
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/config/locale/en-us.ts +3 -0
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/config/locale/zh-cn.ts +3 -0
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/dto/skuAttribute.tsx +17 -0
- package/vona/src/suite/a-commerce/modules/commerce-catalog/src/entity/sku.tsx +10 -1
- package/vona/src/suite/a-commerce/modules/commerce-catalog/test/catalog.test.ts +1 -1
- package/vona/src/suite/a-commerce/modules/commerce-member/test/addressOwnership.test.ts +6 -1
- package/vona/src/suite/a-commerce/modules/commerce-payment/package.json +2 -1
- package/vona/src/suite/a-commerce/modules/commerce-payment/src/.metadata/index.ts +228 -0
- package/vona/src/suite/a-commerce/modules/commerce-payment/src/bean/meta.index.ts +15 -0
- package/vona/src/suite/a-commerce/modules/commerce-payment/src/bean/meta.version.ts +35 -0
- package/vona/src/suite/a-commerce/modules/commerce-payment/src/dto/paymentAttemptView.tsx +26 -0
- package/vona/src/suite/a-commerce/modules/commerce-payment/src/entity/paymentAttempt.tsx +34 -0
- package/vona/src/suite/a-commerce/modules/commerce-payment/src/model/paymentAttempt.ts +10 -0
- package/vona/src/suite/a-commerce/modules/commerce-payment/src/service/paymentAttempt.ts +41 -0
- package/vona/src/suite/a-commerce/modules/commerce-payment/test/paymentAttempt.test.ts +33 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/package.json +4 -2
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/.metadata/index.ts +533 -2
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/.metadata/locales.ts +18 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/bean/meta.index.ts +24 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/bean/meta.version.ts +137 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/bean/ssrMenu.couponTemplate.ts +30 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/config/locale/en-us.ts +37 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/config/locale/zh-cn.ts +37 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/controller/coupon.ts +37 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/controller/couponTemplate.ts +65 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponIssue.tsx +22 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponMineItem.tsx +32 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateCreate.tsx +43 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateSelectReq.tsx +28 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateSelectRes.tsx +11 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateSelectResItem.tsx +39 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateUpdate.tsx +19 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateView.tsx +25 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/entity/couponAudit.tsx +73 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/entity/couponGrant.tsx +83 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/entity/couponTemplate.tsx +82 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/index.ts +1 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/model/couponAudit.ts +10 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/model/couponGrant.ts +10 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/model/couponTemplate.ts +10 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/service/coupon.ts +397 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/service/couponTemplate.ts +52 -0
- package/vona/src/suite/a-commerce/modules/commerce-promotion/test/couponReservation.test.ts +162 -0
- package/vona/src/suite/a-commerce/modules/commerce-seed/src/bean/meta.version.ts +8 -10
- package/vona/src/suite/a-commerce/modules/commerce-trade/package.json +4 -1
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/.metadata/index.ts +277 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/bean/bean.scheduleOrderExpiry.ts +26 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/bean/meta.index.ts +9 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/bean/meta.version.ts +75 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/config/locale/en-us.ts +11 -2
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/config/locale/zh-cn.ts +11 -2
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/controller/checkout.ts +19 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/checkoutCreate.tsx +19 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/checkoutResult.tsx +32 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/orderAddressSnapshot.tsx +33 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/orderCouponSnapshot.tsx +35 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/orderLineSkuAttributeSnapshot.tsx +15 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/entity/order.tsx +90 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/entity/orderAudit.tsx +36 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/entity/orderLine.tsx +52 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/entity/stockReservation.tsx +4 -1
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/model/order.ts +15 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/model/orderAudit.ts +10 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/model/orderLine.ts +10 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/service/order.ts +556 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/service/stockBalance.ts +15 -20
- package/vona/src/suite/a-commerce/modules/commerce-trade/test/cartOwnership.test.ts +8 -3
- package/vona/src/suite/a-commerce/modules/commerce-trade/test/checkoutReservation.test.ts +158 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/test/orderSnapshot.test.ts +203 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/test/reservationExpiry.test.ts +163 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/test/stockBalance.test.ts +11 -6
- package/vona/src/suite/a-commerce/modules/commerce-trade/test/stockReservation.test.ts +11 -6
- package/vona/src/suite-vendor/a-image/modules/image-cloudflare/package.json +1 -1
- package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/service/imageCloudflare.ts +10 -7
- package/vona/src/suite-vendor/a-image/package.json +1 -1
- package/vona/src/suite-vendor/a-vona/modules/a-aspect/package.json +1 -1
- package/vona/src/suite-vendor/a-vona/modules/a-aspect/src/types/aopMethod.ts +16 -3
- package/vona/src/suite-vendor/a-vona/modules/a-core/package.json +4 -2
- package/vona/src/suite-vendor/a-vona/modules/a-core/src/bean/bean.core.ts +6 -0
- package/vona/src/suite-vendor/a-vona/modules/a-core/src/index.ts +1 -0
- package/vona/src/suite-vendor/a-vona/modules/a-core/src/lib/core.ts +6 -0
- package/vona/src/suite-vendor/a-vona/modules/a-core/src/types/fetch.ts +7 -0
- package/vona/src/suite-vendor/a-vona/modules/a-core/src/types/index.ts +1 -0
- package/vona/src/suite-vendor/a-vona/modules/a-executor/package.json +1 -1
- package/vona/src/suite-vendor/a-vona/modules/a-executor/src/lib/utils.ts +5 -3
- package/vona/src/suite-vendor/a-vona/modules/a-retryable/package.json +50 -0
- package/vona/src/suite-vendor/a-vona/modules/a-retryable/src/.metadata/index.ts +55 -0
- package/vona/src/suite-vendor/a-vona/modules/a-retryable/src/.metadata/this.ts +2 -0
- package/vona/src/suite-vendor/a-vona/modules/a-retryable/src/bean/aopMethod.retryable.ts +45 -0
- package/vona/src/suite-vendor/a-vona/modules/a-retryable/src/index.ts +1 -0
- package/vona/src/suite-vendor/a-vona/modules/a-retryable/tsconfig.build.json +11 -0
- package/vona/src/suite-vendor/a-vona/modules/a-retryable/tsconfig.json +7 -0
- package/vona/src/suite-vendor/a-vona/modules/a-vona/package.json +2 -1
- package/vona/src/suite-vendor/a-vona/package.json +2 -1
- package/vona/src/suite-vendor/a-vona/tsconfig.json +3 -0
- package/zova/packages-utils/zova-jsx/package.json +3 -3
- package/zova/packages-zova/zova/package.json +3 -3
- package/zova/packages-zova/zova-core/package.json +2 -2
- package/zova/pnpm-lock.yaml +31 -31
- package/zova/src/suite/a-commerce/modules/commerce-promotion/cli/openapi.config.ts +9 -0
- package/zova/src/suite/a-commerce/modules/commerce-promotion/package.json +2 -1
- package/zova/src/suite/a-commerce/modules/commerce-promotion/src/.metadata/index.ts +115 -1
- package/zova/src/suite/a-commerce/modules/commerce-promotion/src/api/commercePromotionCoupon.ts +24 -0
- package/zova/src/suite/a-commerce/modules/commerce-promotion/src/api/openapi/baseURL.ts +5 -0
- package/zova/src/suite/a-commerce/modules/commerce-promotion/src/api/openapi/index.ts +3 -0
- package/zova/src/suite/a-commerce/modules/commerce-promotion/src/api/openapi/schemas.ts +478 -0
- package/zova/src/suite/a-commerce/modules/commerce-promotion/src/api/openapi/types.ts +8187 -0
- package/zova/src/suite/a-commerce/modules/commerce-promotion/src/apiSchema/commercePromotionCoupon.ts +13 -0
- package/zova/src/suite/a-commerce/modules/commerce-promotion/src/model/coupon.ts +19 -0
- package/zova/src/suite/a-commerce/modules/commerce-trade/cli/openapi.config.ts +1 -0
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/.metadata/index.ts +30 -0
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/commerceTradeCheckout.ts +27 -0
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/schemas.ts +92 -52
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/types.ts +1389 -848
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/apiSchema/commerceTradeCheckout.ts +13 -0
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/model/cart.ts +13 -0
- package/zova/src/suite-vendor/a-zova/modules/a-zova/package.json +3 -3
- package/zova/src/suite-vendor/a-zova/package.json +2 -2
- /package/vona/patches/{zova-core@5.1.78.patch → zova-core@5.1.79.patch} +0 -0
|
@@ -5,11 +5,17 @@ import type { TableIdentity } from 'table-identity';
|
|
|
5
5
|
/** entity: begin */
|
|
6
6
|
export * from '../entity/cart.tsx';
|
|
7
7
|
export * from '../entity/cartItem.tsx';
|
|
8
|
+
export * from '../entity/order.tsx';
|
|
9
|
+
export * from '../entity/orderAudit.tsx';
|
|
10
|
+
export * from '../entity/orderLine.tsx';
|
|
8
11
|
export * from '../entity/stockAudit.tsx';
|
|
9
12
|
export * from '../entity/stockBalance.tsx';
|
|
10
13
|
export * from '../entity/stockReservation.tsx';
|
|
11
14
|
import type { IEntityOptionsCart } from '../entity/cart.tsx';
|
|
12
15
|
import type { IEntityOptionsCartItem } from '../entity/cartItem.tsx';
|
|
16
|
+
import type { IEntityOptionsOrder } from '../entity/order.tsx';
|
|
17
|
+
import type { IEntityOptionsOrderAudit } from '../entity/orderAudit.tsx';
|
|
18
|
+
import type { IEntityOptionsOrderLine } from '../entity/orderLine.tsx';
|
|
13
19
|
import type { IEntityOptionsStockAudit } from '../entity/stockAudit.tsx';
|
|
14
20
|
import type { IEntityOptionsStockBalance } from '../entity/stockBalance.tsx';
|
|
15
21
|
import type { IEntityOptionsStockReservation } from '../entity/stockReservation.tsx';
|
|
@@ -19,6 +25,9 @@ declare module 'vona-module-a-orm' {
|
|
|
19
25
|
export interface IEntityRecord {
|
|
20
26
|
'commerce-trade:cart': IEntityOptionsCart;
|
|
21
27
|
'commerce-trade:cartItem': IEntityOptionsCartItem;
|
|
28
|
+
'commerce-trade:order': IEntityOptionsOrder;
|
|
29
|
+
'commerce-trade:orderAudit': IEntityOptionsOrderAudit;
|
|
30
|
+
'commerce-trade:orderLine': IEntityOptionsOrderLine;
|
|
22
31
|
'commerce-trade:stockAudit': IEntityOptionsStockAudit;
|
|
23
32
|
'commerce-trade:stockBalance': IEntityOptionsStockBalance;
|
|
24
33
|
'commerce-trade:stockReservation': IEntityOptionsStockReservation;
|
|
@@ -33,12 +42,18 @@ declare module 'vona-module-commerce-trade' {
|
|
|
33
42
|
/** entity: begin */
|
|
34
43
|
import type { EntityCart } from '../entity/cart.tsx';
|
|
35
44
|
import type { EntityCartItem } from '../entity/cartItem.tsx';
|
|
45
|
+
import type { EntityOrder } from '../entity/order.tsx';
|
|
46
|
+
import type { EntityOrderAudit } from '../entity/orderAudit.tsx';
|
|
47
|
+
import type { EntityOrderLine } from '../entity/orderLine.tsx';
|
|
36
48
|
import type { EntityStockAudit } from '../entity/stockAudit.tsx';
|
|
37
49
|
import type { EntityStockBalance } from '../entity/stockBalance.tsx';
|
|
38
50
|
import type { EntityStockReservation } from '../entity/stockReservation.tsx';
|
|
39
51
|
export interface IModuleEntity {
|
|
40
52
|
'cart': EntityCartMeta;
|
|
41
53
|
'cartItem': EntityCartItemMeta;
|
|
54
|
+
'order': EntityOrderMeta;
|
|
55
|
+
'orderAudit': EntityOrderAuditMeta;
|
|
56
|
+
'orderLine': EntityOrderLineMeta;
|
|
42
57
|
'stockAudit': EntityStockAuditMeta;
|
|
43
58
|
'stockBalance': EntityStockBalanceMeta;
|
|
44
59
|
'stockReservation': EntityStockReservationMeta;
|
|
@@ -47,11 +62,17 @@ export interface IModuleEntity {
|
|
|
47
62
|
/** entity: begin */
|
|
48
63
|
export type EntityCartTableName = 'commerceTradeCart';
|
|
49
64
|
export type EntityCartItemTableName = 'commerceTradeCartItem';
|
|
65
|
+
export type EntityOrderTableName = 'commerceTradeOrder';
|
|
66
|
+
export type EntityOrderAuditTableName = 'commerceTradeOrderAudit';
|
|
67
|
+
export type EntityOrderLineTableName = 'commerceTradeOrderLine';
|
|
50
68
|
export type EntityStockAuditTableName = 'commerceTradeStockAudit';
|
|
51
69
|
export type EntityStockBalanceTableName = 'commerceTradeStockBalance';
|
|
52
70
|
export type EntityStockReservationTableName = 'commerceTradeStockReservation';
|
|
53
71
|
export type EntityCartMeta=TypeEntityMeta<EntityCart,EntityCartTableName>;
|
|
54
72
|
export type EntityCartItemMeta=TypeEntityMeta<EntityCartItem,EntityCartItemTableName>;
|
|
73
|
+
export type EntityOrderMeta=TypeEntityMeta<EntityOrder,EntityOrderTableName>;
|
|
74
|
+
export type EntityOrderAuditMeta=TypeEntityMeta<EntityOrderAudit,EntityOrderAuditTableName>;
|
|
75
|
+
export type EntityOrderLineMeta=TypeEntityMeta<EntityOrderLine,EntityOrderLineTableName>;
|
|
55
76
|
export type EntityStockAuditMeta=TypeEntityMeta<EntityStockAudit,EntityStockAuditTableName>;
|
|
56
77
|
export type EntityStockBalanceMeta=TypeEntityMeta<EntityStockBalance,EntityStockBalanceTableName>;
|
|
57
78
|
export type EntityStockReservationMeta=TypeEntityMeta<EntityStockReservation,EntityStockReservationTableName>;
|
|
@@ -59,6 +80,9 @@ declare module 'vona-module-a-orm' {
|
|
|
59
80
|
export interface ITableRecord {
|
|
60
81
|
'commerceTradeCart': EntityCartMeta;
|
|
61
82
|
'commerceTradeCartItem': EntityCartItemMeta;
|
|
83
|
+
'commerceTradeOrder': EntityOrderMeta;
|
|
84
|
+
'commerceTradeOrderAudit': EntityOrderAuditMeta;
|
|
85
|
+
'commerceTradeOrderLine': EntityOrderLineMeta;
|
|
62
86
|
'commerceTradeStockAudit': EntityStockAuditMeta;
|
|
63
87
|
'commerceTradeStockBalance': EntityStockBalanceMeta;
|
|
64
88
|
'commerceTradeStockReservation': EntityStockReservationMeta;
|
|
@@ -74,6 +98,18 @@ declare module 'vona-module-commerce-trade' {
|
|
|
74
98
|
fields?: TypeEntityOptionsFields<EntityCartItem, IEntityOptionsCartItem[TypeSymbolKeyFieldsMore]>;
|
|
75
99
|
}
|
|
76
100
|
|
|
101
|
+
export interface IEntityOptionsOrder {
|
|
102
|
+
fields?: TypeEntityOptionsFields<EntityOrder, IEntityOptionsOrder[TypeSymbolKeyFieldsMore]>;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export interface IEntityOptionsOrderAudit {
|
|
106
|
+
fields?: TypeEntityOptionsFields<EntityOrderAudit, IEntityOptionsOrderAudit[TypeSymbolKeyFieldsMore]>;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export interface IEntityOptionsOrderLine {
|
|
110
|
+
fields?: TypeEntityOptionsFields<EntityOrderLine, IEntityOptionsOrderLine[TypeSymbolKeyFieldsMore]>;
|
|
111
|
+
}
|
|
112
|
+
|
|
77
113
|
export interface IEntityOptionsStockAudit {
|
|
78
114
|
fields?: TypeEntityOptionsFields<EntityStockAudit, IEntityOptionsStockAudit[TypeSymbolKeyFieldsMore]>;
|
|
79
115
|
}
|
|
@@ -90,11 +126,17 @@ declare module 'vona-module-commerce-trade' {
|
|
|
90
126
|
/** model: begin */
|
|
91
127
|
export * from '../model/cart.ts';
|
|
92
128
|
export * from '../model/cartItem.ts';
|
|
129
|
+
export * from '../model/order.ts';
|
|
130
|
+
export * from '../model/orderAudit.ts';
|
|
131
|
+
export * from '../model/orderLine.ts';
|
|
93
132
|
export * from '../model/stockAudit.ts';
|
|
94
133
|
export * from '../model/stockBalance.ts';
|
|
95
134
|
export * from '../model/stockReservation.ts';
|
|
96
135
|
import type { IModelOptionsCart } from '../model/cart.ts';
|
|
97
136
|
import type { IModelOptionsCartItem } from '../model/cartItem.ts';
|
|
137
|
+
import type { IModelOptionsOrder } from '../model/order.ts';
|
|
138
|
+
import type { IModelOptionsOrderAudit } from '../model/orderAudit.ts';
|
|
139
|
+
import type { IModelOptionsOrderLine } from '../model/orderLine.ts';
|
|
98
140
|
import type { IModelOptionsStockAudit } from '../model/stockAudit.ts';
|
|
99
141
|
import type { IModelOptionsStockBalance } from '../model/stockBalance.ts';
|
|
100
142
|
import type { IModelOptionsStockReservation } from '../model/stockReservation.ts';
|
|
@@ -104,6 +146,9 @@ declare module 'vona-module-a-orm' {
|
|
|
104
146
|
export interface IModelRecord {
|
|
105
147
|
'commerce-trade:cart': IModelOptionsCart;
|
|
106
148
|
'commerce-trade:cartItem': IModelOptionsCartItem;
|
|
149
|
+
'commerce-trade:order': IModelOptionsOrder;
|
|
150
|
+
'commerce-trade:orderAudit': IModelOptionsOrderAudit;
|
|
151
|
+
'commerce-trade:orderLine': IModelOptionsOrderLine;
|
|
107
152
|
'commerce-trade:stockAudit': IModelOptionsStockAudit;
|
|
108
153
|
'commerce-trade:stockBalance': IModelOptionsStockBalance;
|
|
109
154
|
'commerce-trade:stockReservation': IModelOptionsStockReservation;
|
|
@@ -135,6 +180,39 @@ declare module 'vona-module-commerce-trade' {
|
|
|
135
180
|
get $onionOptions(): IModelOptionsCartItem;
|
|
136
181
|
}
|
|
137
182
|
|
|
183
|
+
export interface ModelOrder {
|
|
184
|
+
/** @internal */
|
|
185
|
+
get scope(): ScopeModuleCommerceTrade;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export interface ModelOrder {
|
|
189
|
+
get $beanFullName(): 'commerce-trade.model.order';
|
|
190
|
+
get $onionName(): 'commerce-trade:order';
|
|
191
|
+
get $onionOptions(): IModelOptionsOrder;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export interface ModelOrderAudit {
|
|
195
|
+
/** @internal */
|
|
196
|
+
get scope(): ScopeModuleCommerceTrade;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
export interface ModelOrderAudit {
|
|
200
|
+
get $beanFullName(): 'commerce-trade.model.orderAudit';
|
|
201
|
+
get $onionName(): 'commerce-trade:orderAudit';
|
|
202
|
+
get $onionOptions(): IModelOptionsOrderAudit;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
export interface ModelOrderLine {
|
|
206
|
+
/** @internal */
|
|
207
|
+
get scope(): ScopeModuleCommerceTrade;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
export interface ModelOrderLine {
|
|
211
|
+
get $beanFullName(): 'commerce-trade.model.orderLine';
|
|
212
|
+
get $onionName(): 'commerce-trade:orderLine';
|
|
213
|
+
get $onionOptions(): IModelOptionsOrderLine;
|
|
214
|
+
}
|
|
215
|
+
|
|
138
216
|
export interface ModelStockAudit {
|
|
139
217
|
/** @internal */
|
|
140
218
|
get scope(): ScopeModuleCommerceTrade;
|
|
@@ -172,12 +250,18 @@ declare module 'vona-module-commerce-trade' {
|
|
|
172
250
|
/** model: begin */
|
|
173
251
|
import type { ModelCart } from '../model/cart.ts';
|
|
174
252
|
import type { ModelCartItem } from '../model/cartItem.ts';
|
|
253
|
+
import type { ModelOrder } from '../model/order.ts';
|
|
254
|
+
import type { ModelOrderAudit } from '../model/orderAudit.ts';
|
|
255
|
+
import type { ModelOrderLine } from '../model/orderLine.ts';
|
|
175
256
|
import type { ModelStockAudit } from '../model/stockAudit.ts';
|
|
176
257
|
import type { ModelStockBalance } from '../model/stockBalance.ts';
|
|
177
258
|
import type { ModelStockReservation } from '../model/stockReservation.ts';
|
|
178
259
|
export interface IModuleModel {
|
|
179
260
|
'cart': ModelCart;
|
|
180
261
|
'cartItem': ModelCartItem;
|
|
262
|
+
'order': ModelOrder;
|
|
263
|
+
'orderAudit': ModelOrderAudit;
|
|
264
|
+
'orderLine': ModelOrderLine;
|
|
181
265
|
'stockAudit': ModelStockAudit;
|
|
182
266
|
'stockBalance': ModelStockBalance;
|
|
183
267
|
'stockReservation': ModelStockReservation;
|
|
@@ -190,6 +274,9 @@ declare module 'vona' {
|
|
|
190
274
|
export interface IBeanRecordGeneral {
|
|
191
275
|
'commerce-trade.model.cart': ModelCart;
|
|
192
276
|
'commerce-trade.model.cartItem': ModelCartItem;
|
|
277
|
+
'commerce-trade.model.order': ModelOrder;
|
|
278
|
+
'commerce-trade.model.orderAudit': ModelOrderAudit;
|
|
279
|
+
'commerce-trade.model.orderLine': ModelOrderLine;
|
|
193
280
|
'commerce-trade.model.stockAudit': ModelStockAudit;
|
|
194
281
|
'commerce-trade.model.stockBalance': ModelStockBalance;
|
|
195
282
|
'commerce-trade.model.stockReservation': ModelStockReservation;
|
|
@@ -205,6 +292,11 @@ declare module 'vona-module-commerce-trade' {
|
|
|
205
292
|
items: IModelRelationHasMany<'commerce-trade:cartItem', 'cartId', false, 'id'|'skuId'|'quantity', undefined, undefined, undefined>;
|
|
206
293
|
};
|
|
207
294
|
}
|
|
295
|
+
export interface IModelOptionsOrder {
|
|
296
|
+
relations: {
|
|
297
|
+
lines: IModelRelationHasMany<'commerce-trade:orderLine', 'orderId', false, '*', undefined, undefined, undefined>;
|
|
298
|
+
};
|
|
299
|
+
}
|
|
208
300
|
export interface ModelCart {
|
|
209
301
|
[SymbolKeyEntity]: EntityCart;
|
|
210
302
|
[SymbolKeyEntityMeta]: EntityCartMeta;
|
|
@@ -259,6 +351,87 @@ export interface ModelCartItem {
|
|
|
259
351
|
updateById<T extends IModelUpdateOptions<EntityCartItem,ModelCartItem>>(id: TableIdentity, data: TypeModelMutateRelationData<EntityCartItem,ModelCartItem, T>, options?: T): Promise<TypeModelMutateRelationData<EntityCartItem,ModelCartItem, T>>;
|
|
260
352
|
deleteById<T extends IModelDeleteOptions<EntityCartItem,ModelCartItem>>(id: TableIdentity, options?: T): Promise<void>;
|
|
261
353
|
}
|
|
354
|
+
export interface ModelOrder {
|
|
355
|
+
[SymbolKeyEntity]: EntityOrder;
|
|
356
|
+
[SymbolKeyEntityMeta]: EntityOrderMeta;
|
|
357
|
+
[SymbolKeyModelOptions]: IModelOptionsOrder;
|
|
358
|
+
get<T extends IModelGetOptions<EntityOrder,ModelOrder>>(where: TypeModelWhere<EntityOrder>, options?: T): Promise<TypeModelRelationResult<EntityOrder, ModelOrder, T> | undefined>;
|
|
359
|
+
getForUpdate<T extends IModelGetOptions<EntityOrder,ModelOrder>>(where: TypeModelWhere<EntityOrder>, options?: T): Promise<TypeModelRelationResult<EntityOrder, ModelOrder, T> | undefined>;
|
|
360
|
+
getByIdForUpdate<T extends IModelGetOptions<EntityOrder,ModelOrder>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityOrder, ModelOrder, T> | undefined>;
|
|
361
|
+
mget<T extends IModelGetOptions<EntityOrder,ModelOrder>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityOrder, ModelOrder, T>[]>;
|
|
362
|
+
selectAndCount<T extends IModelSelectParams<EntityOrder,ModelOrder,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelSelectAndCount<EntityOrder, ModelOrder, T>>;
|
|
363
|
+
select<T extends IModelSelectParams<EntityOrder,ModelOrder,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityOrder, ModelOrder, T>[]>;
|
|
364
|
+
insert<T extends IModelInsertOptions<EntityOrder,ModelOrder>>(data?: TypeModelMutateRelationData<EntityOrder,ModelOrder, T>, options?: T): Promise<TypeModelMutateRelationData<EntityOrder,ModelOrder, T, true>>;
|
|
365
|
+
insertBulk<T extends IModelInsertOptions<EntityOrder,ModelOrder>>(items: TypeModelMutateRelationData<EntityOrder,ModelOrder, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityOrder,ModelOrder, T, true>[]>;
|
|
366
|
+
update<T extends IModelUpdateOptions<EntityOrder,ModelOrder>>(data: TypeModelMutateRelationData<EntityOrder,ModelOrder, T>, options?: T): Promise<TypeModelMutateRelationData<EntityOrder,ModelOrder, T>>;
|
|
367
|
+
updateBulk<T extends IModelUpdateOptions<EntityOrder,ModelOrder>>(items: TypeModelMutateRelationData<EntityOrder,ModelOrder, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityOrder,ModelOrder, T>[]>;
|
|
368
|
+
delete<T extends IModelDeleteOptions<EntityOrder,ModelOrder>>(where?: TypeModelWhere<EntityOrder>, options?: T): Promise<void>;
|
|
369
|
+
deleteBulk<T extends IModelDeleteOptions<EntityOrder,ModelOrder>>(ids: TableIdentity[], options?: T): Promise<void>;
|
|
370
|
+
mutate<T extends IModelMutateOptions<EntityOrder,ModelOrder>>(data?: TypeModelMutateRelationData<EntityOrder,ModelOrder, T>, options?: T): Promise<TypeModelMutateRelationData<EntityOrder,ModelOrder, T>>;
|
|
371
|
+
mutateBulk<T extends IModelMutateOptions<EntityOrder,ModelOrder>>(items: TypeModelMutateRelationData<EntityOrder,ModelOrder, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityOrder,ModelOrder, T>[]>;
|
|
372
|
+
count<T extends IModelSelectCountParams<EntityOrder,ModelOrder,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<string | undefined>;
|
|
373
|
+
increment<T extends IModelIncrementParams<EntityOrder,ModelOrder,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
|
|
374
|
+
decrement<T extends IModelIncrementParams<EntityOrder,ModelOrder,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
|
|
375
|
+
aggregate<T extends IModelSelectAggrParams<EntityOrder,ModelOrder,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelAggrRelationResult<T>>;
|
|
376
|
+
group<T extends IModelSelectGroupParams<EntityOrder,ModelOrder,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelGroupRelationResult<EntityOrder, T>[]>;
|
|
377
|
+
getById<T extends IModelGetOptions<EntityOrder,ModelOrder>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityOrder, ModelOrder, T> | undefined>;
|
|
378
|
+
updateById<T extends IModelUpdateOptions<EntityOrder,ModelOrder>>(id: TableIdentity, data: TypeModelMutateRelationData<EntityOrder,ModelOrder, T>, options?: T): Promise<TypeModelMutateRelationData<EntityOrder,ModelOrder, T>>;
|
|
379
|
+
deleteById<T extends IModelDeleteOptions<EntityOrder,ModelOrder>>(id: TableIdentity, options?: T): Promise<void>;
|
|
380
|
+
}
|
|
381
|
+
export interface ModelOrderAudit {
|
|
382
|
+
[SymbolKeyEntity]: EntityOrderAudit;
|
|
383
|
+
[SymbolKeyEntityMeta]: EntityOrderAuditMeta;
|
|
384
|
+
[SymbolKeyModelOptions]: IModelOptionsOrderAudit;
|
|
385
|
+
get<T extends IModelGetOptions<EntityOrderAudit,ModelOrderAudit>>(where: TypeModelWhere<EntityOrderAudit>, options?: T): Promise<TypeModelRelationResult<EntityOrderAudit, ModelOrderAudit, T> | undefined>;
|
|
386
|
+
getForUpdate<T extends IModelGetOptions<EntityOrderAudit,ModelOrderAudit>>(where: TypeModelWhere<EntityOrderAudit>, options?: T): Promise<TypeModelRelationResult<EntityOrderAudit, ModelOrderAudit, T> | undefined>;
|
|
387
|
+
getByIdForUpdate<T extends IModelGetOptions<EntityOrderAudit,ModelOrderAudit>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityOrderAudit, ModelOrderAudit, T> | undefined>;
|
|
388
|
+
mget<T extends IModelGetOptions<EntityOrderAudit,ModelOrderAudit>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityOrderAudit, ModelOrderAudit, T>[]>;
|
|
389
|
+
selectAndCount<T extends IModelSelectParams<EntityOrderAudit,ModelOrderAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelSelectAndCount<EntityOrderAudit, ModelOrderAudit, T>>;
|
|
390
|
+
select<T extends IModelSelectParams<EntityOrderAudit,ModelOrderAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityOrderAudit, ModelOrderAudit, T>[]>;
|
|
391
|
+
insert<T extends IModelInsertOptions<EntityOrderAudit,ModelOrderAudit>>(data?: TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T>, options?: T): Promise<TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T, true>>;
|
|
392
|
+
insertBulk<T extends IModelInsertOptions<EntityOrderAudit,ModelOrderAudit>>(items: TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T, true>[]>;
|
|
393
|
+
update<T extends IModelUpdateOptions<EntityOrderAudit,ModelOrderAudit>>(data: TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T>, options?: T): Promise<TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T>>;
|
|
394
|
+
updateBulk<T extends IModelUpdateOptions<EntityOrderAudit,ModelOrderAudit>>(items: TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T>[]>;
|
|
395
|
+
delete<T extends IModelDeleteOptions<EntityOrderAudit,ModelOrderAudit>>(where?: TypeModelWhere<EntityOrderAudit>, options?: T): Promise<void>;
|
|
396
|
+
deleteBulk<T extends IModelDeleteOptions<EntityOrderAudit,ModelOrderAudit>>(ids: TableIdentity[], options?: T): Promise<void>;
|
|
397
|
+
mutate<T extends IModelMutateOptions<EntityOrderAudit,ModelOrderAudit>>(data?: TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T>, options?: T): Promise<TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T>>;
|
|
398
|
+
mutateBulk<T extends IModelMutateOptions<EntityOrderAudit,ModelOrderAudit>>(items: TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T>[]>;
|
|
399
|
+
count<T extends IModelSelectCountParams<EntityOrderAudit,ModelOrderAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<string | undefined>;
|
|
400
|
+
increment<T extends IModelIncrementParams<EntityOrderAudit,ModelOrderAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
|
|
401
|
+
decrement<T extends IModelIncrementParams<EntityOrderAudit,ModelOrderAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
|
|
402
|
+
aggregate<T extends IModelSelectAggrParams<EntityOrderAudit,ModelOrderAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelAggrRelationResult<T>>;
|
|
403
|
+
group<T extends IModelSelectGroupParams<EntityOrderAudit,ModelOrderAudit,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelGroupRelationResult<EntityOrderAudit, T>[]>;
|
|
404
|
+
getById<T extends IModelGetOptions<EntityOrderAudit,ModelOrderAudit>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityOrderAudit, ModelOrderAudit, T> | undefined>;
|
|
405
|
+
updateById<T extends IModelUpdateOptions<EntityOrderAudit,ModelOrderAudit>>(id: TableIdentity, data: TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T>, options?: T): Promise<TypeModelMutateRelationData<EntityOrderAudit,ModelOrderAudit, T>>;
|
|
406
|
+
deleteById<T extends IModelDeleteOptions<EntityOrderAudit,ModelOrderAudit>>(id: TableIdentity, options?: T): Promise<void>;
|
|
407
|
+
}
|
|
408
|
+
export interface ModelOrderLine {
|
|
409
|
+
[SymbolKeyEntity]: EntityOrderLine;
|
|
410
|
+
[SymbolKeyEntityMeta]: EntityOrderLineMeta;
|
|
411
|
+
[SymbolKeyModelOptions]: IModelOptionsOrderLine;
|
|
412
|
+
get<T extends IModelGetOptions<EntityOrderLine,ModelOrderLine>>(where: TypeModelWhere<EntityOrderLine>, options?: T): Promise<TypeModelRelationResult<EntityOrderLine, ModelOrderLine, T> | undefined>;
|
|
413
|
+
getForUpdate<T extends IModelGetOptions<EntityOrderLine,ModelOrderLine>>(where: TypeModelWhere<EntityOrderLine>, options?: T): Promise<TypeModelRelationResult<EntityOrderLine, ModelOrderLine, T> | undefined>;
|
|
414
|
+
getByIdForUpdate<T extends IModelGetOptions<EntityOrderLine,ModelOrderLine>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityOrderLine, ModelOrderLine, T> | undefined>;
|
|
415
|
+
mget<T extends IModelGetOptions<EntityOrderLine,ModelOrderLine>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityOrderLine, ModelOrderLine, T>[]>;
|
|
416
|
+
selectAndCount<T extends IModelSelectParams<EntityOrderLine,ModelOrderLine,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelSelectAndCount<EntityOrderLine, ModelOrderLine, T>>;
|
|
417
|
+
select<T extends IModelSelectParams<EntityOrderLine,ModelOrderLine,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityOrderLine, ModelOrderLine, T>[]>;
|
|
418
|
+
insert<T extends IModelInsertOptions<EntityOrderLine,ModelOrderLine>>(data?: TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T>, options?: T): Promise<TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T, true>>;
|
|
419
|
+
insertBulk<T extends IModelInsertOptions<EntityOrderLine,ModelOrderLine>>(items: TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T, true>[]>;
|
|
420
|
+
update<T extends IModelUpdateOptions<EntityOrderLine,ModelOrderLine>>(data: TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T>, options?: T): Promise<TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T>>;
|
|
421
|
+
updateBulk<T extends IModelUpdateOptions<EntityOrderLine,ModelOrderLine>>(items: TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T>[]>;
|
|
422
|
+
delete<T extends IModelDeleteOptions<EntityOrderLine,ModelOrderLine>>(where?: TypeModelWhere<EntityOrderLine>, options?: T): Promise<void>;
|
|
423
|
+
deleteBulk<T extends IModelDeleteOptions<EntityOrderLine,ModelOrderLine>>(ids: TableIdentity[], options?: T): Promise<void>;
|
|
424
|
+
mutate<T extends IModelMutateOptions<EntityOrderLine,ModelOrderLine>>(data?: TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T>, options?: T): Promise<TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T>>;
|
|
425
|
+
mutateBulk<T extends IModelMutateOptions<EntityOrderLine,ModelOrderLine>>(items: TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T>[]>;
|
|
426
|
+
count<T extends IModelSelectCountParams<EntityOrderLine,ModelOrderLine,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<string | undefined>;
|
|
427
|
+
increment<T extends IModelIncrementParams<EntityOrderLine,ModelOrderLine,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
|
|
428
|
+
decrement<T extends IModelIncrementParams<EntityOrderLine,ModelOrderLine,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
|
|
429
|
+
aggregate<T extends IModelSelectAggrParams<EntityOrderLine,ModelOrderLine,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelAggrRelationResult<T>>;
|
|
430
|
+
group<T extends IModelSelectGroupParams<EntityOrderLine,ModelOrderLine,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelGroupRelationResult<EntityOrderLine, T>[]>;
|
|
431
|
+
getById<T extends IModelGetOptions<EntityOrderLine,ModelOrderLine>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityOrderLine, ModelOrderLine, T> | undefined>;
|
|
432
|
+
updateById<T extends IModelUpdateOptions<EntityOrderLine,ModelOrderLine>>(id: TableIdentity, data: TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T>, options?: T): Promise<TypeModelMutateRelationData<EntityOrderLine,ModelOrderLine, T>>;
|
|
433
|
+
deleteById<T extends IModelDeleteOptions<EntityOrderLine,ModelOrderLine>>(id: TableIdentity, options?: T): Promise<void>;
|
|
434
|
+
}
|
|
262
435
|
export interface ModelStockAudit {
|
|
263
436
|
[SymbolKeyEntity]: EntityStockAudit;
|
|
264
437
|
[SymbolKeyEntityMeta]: EntityStockAuditMeta;
|
|
@@ -345,14 +518,43 @@ declare module 'vona-module-a-orm' {
|
|
|
345
518
|
export interface IModelClassRecord {
|
|
346
519
|
'commerce-trade:cart': ModelCart;
|
|
347
520
|
'commerce-trade:cartItem': ModelCartItem;
|
|
521
|
+
'commerce-trade:order': ModelOrder;
|
|
522
|
+
'commerce-trade:orderAudit': ModelOrderAudit;
|
|
523
|
+
'commerce-trade:orderLine': ModelOrderLine;
|
|
348
524
|
'commerce-trade:stockAudit': ModelStockAudit;
|
|
349
525
|
'commerce-trade:stockBalance': ModelStockBalance;
|
|
350
526
|
'commerce-trade:stockReservation': ModelStockReservation;
|
|
351
527
|
}
|
|
352
528
|
}
|
|
353
529
|
/** model: end */
|
|
530
|
+
/** bean: begin */
|
|
531
|
+
export * from '../bean/bean.scheduleOrderExpiry.ts';
|
|
532
|
+
|
|
533
|
+
import 'vona';
|
|
534
|
+
declare module 'vona' {
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
}
|
|
538
|
+
declare module 'vona-module-commerce-trade' {
|
|
539
|
+
|
|
540
|
+
export interface BeanScheduleOrderExpiry {
|
|
541
|
+
/** @internal */
|
|
542
|
+
get scope(): ScopeModuleCommerceTrade;
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
/** bean: end */
|
|
546
|
+
/** bean: begin */
|
|
547
|
+
import type { BeanScheduleOrderExpiry } from '../bean/bean.scheduleOrderExpiry.ts';
|
|
548
|
+
import 'vona';
|
|
549
|
+
declare module 'vona' {
|
|
550
|
+
export interface IBeanRecordGlobal {
|
|
551
|
+
'scheduleOrderExpiry': BeanScheduleOrderExpiry;
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
/** bean: end */
|
|
354
555
|
/** service: begin */
|
|
355
556
|
export * from '../service/cart.ts';
|
|
557
|
+
export * from '../service/order.ts';
|
|
356
558
|
export * from '../service/stockAudit.ts';
|
|
357
559
|
export * from '../service/stockBalance.ts';
|
|
358
560
|
|
|
@@ -361,6 +563,7 @@ declare module 'vona-module-a-bean' {
|
|
|
361
563
|
|
|
362
564
|
export interface IServiceRecord {
|
|
363
565
|
'commerce-trade:cart': never;
|
|
566
|
+
'commerce-trade:order': never;
|
|
364
567
|
'commerce-trade:stockAudit': never;
|
|
365
568
|
'commerce-trade:stockBalance': never;
|
|
366
569
|
}
|
|
@@ -380,6 +583,17 @@ declare module 'vona-module-commerce-trade' {
|
|
|
380
583
|
|
|
381
584
|
}
|
|
382
585
|
|
|
586
|
+
export interface ServiceOrder {
|
|
587
|
+
/** @internal */
|
|
588
|
+
get scope(): ScopeModuleCommerceTrade;
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
export interface ServiceOrder {
|
|
592
|
+
get $beanFullName(): 'commerce-trade.service.order';
|
|
593
|
+
get $onionName(): 'commerce-trade:order';
|
|
594
|
+
|
|
595
|
+
}
|
|
596
|
+
|
|
383
597
|
export interface ServiceStockAudit {
|
|
384
598
|
/** @internal */
|
|
385
599
|
get scope(): ScopeModuleCommerceTrade;
|
|
@@ -405,10 +619,12 @@ declare module 'vona-module-commerce-trade' {
|
|
|
405
619
|
/** service: end */
|
|
406
620
|
/** service: begin */
|
|
407
621
|
import type { ServiceCart } from '../service/cart.ts';
|
|
622
|
+
import type { ServiceOrder } from '../service/order.ts';
|
|
408
623
|
import type { ServiceStockAudit } from '../service/stockAudit.ts';
|
|
409
624
|
import type { ServiceStockBalance } from '../service/stockBalance.ts';
|
|
410
625
|
export interface IModuleService {
|
|
411
626
|
'cart': ServiceCart;
|
|
627
|
+
'order': ServiceOrder;
|
|
412
628
|
'stockAudit': ServiceStockAudit;
|
|
413
629
|
'stockBalance': ServiceStockBalance;
|
|
414
630
|
}
|
|
@@ -419,6 +635,7 @@ import 'vona';
|
|
|
419
635
|
declare module 'vona' {
|
|
420
636
|
export interface IBeanRecordGeneral {
|
|
421
637
|
'commerce-trade.service.cart': ServiceCart;
|
|
638
|
+
'commerce-trade.service.order': ServiceOrder;
|
|
422
639
|
'commerce-trade.service.stockAudit': ServiceStockAudit;
|
|
423
640
|
'commerce-trade.service.stockBalance': ServiceStockBalance;
|
|
424
641
|
}
|
|
@@ -468,6 +685,11 @@ export * from '../dto/cartAddItem.tsx';
|
|
|
468
685
|
export * from '../dto/cartItem.tsx';
|
|
469
686
|
export * from '../dto/cartUpdateItem.tsx';
|
|
470
687
|
export * from '../dto/cartView.tsx';
|
|
688
|
+
export * from '../dto/checkoutCreate.tsx';
|
|
689
|
+
export * from '../dto/checkoutResult.tsx';
|
|
690
|
+
export * from '../dto/orderAddressSnapshot.tsx';
|
|
691
|
+
export * from '../dto/orderCouponSnapshot.tsx';
|
|
692
|
+
export * from '../dto/orderLineSkuAttributeSnapshot.tsx';
|
|
471
693
|
export * from '../dto/stockAdjust.tsx';
|
|
472
694
|
export * from '../dto/stockAuditCreate.tsx';
|
|
473
695
|
export * from '../dto/stockAuditSelectReq.tsx';
|
|
@@ -485,6 +707,11 @@ import type { IDtoOptionsCartAddItem } from '../dto/cartAddItem.tsx';
|
|
|
485
707
|
import type { IDtoOptionsCartItem } from '../dto/cartItem.tsx';
|
|
486
708
|
import type { IDtoOptionsCartUpdateItem } from '../dto/cartUpdateItem.tsx';
|
|
487
709
|
import type { IDtoOptionsCartView } from '../dto/cartView.tsx';
|
|
710
|
+
import type { IDtoOptionsCheckoutCreate } from '../dto/checkoutCreate.tsx';
|
|
711
|
+
import type { IDtoOptionsCheckoutResult } from '../dto/checkoutResult.tsx';
|
|
712
|
+
import type { IDtoOptionsOrderAddressSnapshot } from '../dto/orderAddressSnapshot.tsx';
|
|
713
|
+
import type { IDtoOptionsOrderCouponSnapshot } from '../dto/orderCouponSnapshot.tsx';
|
|
714
|
+
import type { IDtoOptionsOrderLineSkuAttributeSnapshot } from '../dto/orderLineSkuAttributeSnapshot.tsx';
|
|
488
715
|
import type { IDtoOptionsStockAdjust } from '../dto/stockAdjust.tsx';
|
|
489
716
|
import type { IDtoOptionsStockAuditCreate } from '../dto/stockAuditCreate.tsx';
|
|
490
717
|
import type { IDtoOptionsStockAuditSelectReq } from '../dto/stockAuditSelectReq.tsx';
|
|
@@ -506,6 +733,11 @@ declare module 'vona-module-a-web' {
|
|
|
506
733
|
'commerce-trade:cartItem': IDtoOptionsCartItem;
|
|
507
734
|
'commerce-trade:cartUpdateItem': IDtoOptionsCartUpdateItem;
|
|
508
735
|
'commerce-trade:cartView': IDtoOptionsCartView;
|
|
736
|
+
'commerce-trade:checkoutCreate': IDtoOptionsCheckoutCreate;
|
|
737
|
+
'commerce-trade:checkoutResult': IDtoOptionsCheckoutResult;
|
|
738
|
+
'commerce-trade:orderAddressSnapshot': IDtoOptionsOrderAddressSnapshot;
|
|
739
|
+
'commerce-trade:orderCouponSnapshot': IDtoOptionsOrderCouponSnapshot;
|
|
740
|
+
'commerce-trade:orderLineSkuAttributeSnapshot': IDtoOptionsOrderLineSkuAttributeSnapshot;
|
|
509
741
|
'commerce-trade:stockAdjust': IDtoOptionsStockAdjust;
|
|
510
742
|
'commerce-trade:stockAuditCreate': IDtoOptionsStockAuditCreate;
|
|
511
743
|
'commerce-trade:stockAuditSelectReq': IDtoOptionsStockAuditSelectReq;
|
|
@@ -532,6 +764,11 @@ import type { DtoCartAddItem } from '../dto/cartAddItem.tsx';
|
|
|
532
764
|
import type { DtoCartItem } from '../dto/cartItem.tsx';
|
|
533
765
|
import type { DtoCartUpdateItem } from '../dto/cartUpdateItem.tsx';
|
|
534
766
|
import type { DtoCartView } from '../dto/cartView.tsx';
|
|
767
|
+
import type { DtoCheckoutCreate } from '../dto/checkoutCreate.tsx';
|
|
768
|
+
import type { DtoCheckoutResult } from '../dto/checkoutResult.tsx';
|
|
769
|
+
import type { DtoOrderAddressSnapshot } from '../dto/orderAddressSnapshot.tsx';
|
|
770
|
+
import type { DtoOrderCouponSnapshot } from '../dto/orderCouponSnapshot.tsx';
|
|
771
|
+
import type { DtoOrderLineSkuAttributeSnapshot } from '../dto/orderLineSkuAttributeSnapshot.tsx';
|
|
535
772
|
import type { DtoStockAdjust } from '../dto/stockAdjust.tsx';
|
|
536
773
|
import type { DtoStockAuditCreate } from '../dto/stockAuditCreate.tsx';
|
|
537
774
|
import type { DtoStockAuditSelectReq } from '../dto/stockAuditSelectReq.tsx';
|
|
@@ -563,6 +800,26 @@ declare module 'vona-module-commerce-trade' {
|
|
|
563
800
|
fields?: TypeEntityOptionsFields<DtoCartView, IDtoOptionsCartView[TypeSymbolKeyFieldsMore]>;
|
|
564
801
|
}
|
|
565
802
|
|
|
803
|
+
export interface IDtoOptionsCheckoutCreate {
|
|
804
|
+
fields?: TypeEntityOptionsFields<DtoCheckoutCreate, IDtoOptionsCheckoutCreate[TypeSymbolKeyFieldsMore]>;
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
export interface IDtoOptionsCheckoutResult {
|
|
808
|
+
fields?: TypeEntityOptionsFields<DtoCheckoutResult, IDtoOptionsCheckoutResult[TypeSymbolKeyFieldsMore]>;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
export interface IDtoOptionsOrderAddressSnapshot {
|
|
812
|
+
fields?: TypeEntityOptionsFields<DtoOrderAddressSnapshot, IDtoOptionsOrderAddressSnapshot[TypeSymbolKeyFieldsMore]>;
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
export interface IDtoOptionsOrderCouponSnapshot {
|
|
816
|
+
fields?: TypeEntityOptionsFields<DtoOrderCouponSnapshot, IDtoOptionsOrderCouponSnapshot[TypeSymbolKeyFieldsMore]>;
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
export interface IDtoOptionsOrderLineSkuAttributeSnapshot {
|
|
820
|
+
fields?: TypeEntityOptionsFields<DtoOrderLineSkuAttributeSnapshot, IDtoOptionsOrderLineSkuAttributeSnapshot[TypeSymbolKeyFieldsMore]>;
|
|
821
|
+
}
|
|
822
|
+
|
|
566
823
|
export interface IDtoOptionsStockAdjust {
|
|
567
824
|
fields?: TypeEntityOptionsFields<DtoStockAdjust, IDtoOptionsStockAdjust[TypeSymbolKeyFieldsMore]>;
|
|
568
825
|
}
|
|
@@ -618,9 +875,11 @@ declare module 'vona-module-commerce-trade' {
|
|
|
618
875
|
/** dto: end */
|
|
619
876
|
/** controller: begin */
|
|
620
877
|
export * from '../controller/cart.ts';
|
|
878
|
+
export * from '../controller/checkout.ts';
|
|
621
879
|
export * from '../controller/stockAudit.ts';
|
|
622
880
|
export * from '../controller/stockBalance.ts';
|
|
623
881
|
import type { IControllerOptionsCart } from '../controller/cart.ts';
|
|
882
|
+
import type { IControllerOptionsCheckout } from '../controller/checkout.ts';
|
|
624
883
|
import type { IControllerOptionsStockAudit } from '../controller/stockAudit.ts';
|
|
625
884
|
import type { IControllerOptionsStockBalance } from '../controller/stockBalance.ts';
|
|
626
885
|
import 'vona-module-a-web';
|
|
@@ -628,6 +887,7 @@ declare module 'vona-module-a-web' {
|
|
|
628
887
|
|
|
629
888
|
export interface IControllerRecord {
|
|
630
889
|
'commerce-trade:cart': IControllerOptionsCart;
|
|
890
|
+
'commerce-trade:checkout': IControllerOptionsCheckout;
|
|
631
891
|
'commerce-trade:stockAudit': IControllerOptionsStockAudit;
|
|
632
892
|
'commerce-trade:stockBalance': IControllerOptionsStockBalance;
|
|
633
893
|
}
|
|
@@ -647,6 +907,17 @@ declare module 'vona-module-commerce-trade' {
|
|
|
647
907
|
get $onionOptions(): IControllerOptionsCart;
|
|
648
908
|
}
|
|
649
909
|
|
|
910
|
+
export interface ControllerCheckout {
|
|
911
|
+
/** @internal */
|
|
912
|
+
get scope(): ScopeModuleCommerceTrade;
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
export interface ControllerCheckout {
|
|
916
|
+
get $beanFullName(): 'commerce-trade.controller.checkout';
|
|
917
|
+
get $onionName(): 'commerce-trade:checkout';
|
|
918
|
+
get $onionOptions(): IControllerOptionsCheckout;
|
|
919
|
+
}
|
|
920
|
+
|
|
650
921
|
export interface ControllerStockAudit {
|
|
651
922
|
/** @internal */
|
|
652
923
|
get scope(): ScopeModuleCommerceTrade;
|
|
@@ -674,6 +945,8 @@ declare module 'vona-module-commerce-trade' {
|
|
|
674
945
|
// @ts-ignore ignore
|
|
675
946
|
import type { ControllerCart } from '../controller/cart.ts';
|
|
676
947
|
// @ts-ignore ignore
|
|
948
|
+
import type { ControllerCheckout } from '../controller/checkout.ts';
|
|
949
|
+
// @ts-ignore ignore
|
|
677
950
|
import type { ControllerStockAudit } from '../controller/stockAudit.ts';
|
|
678
951
|
// @ts-ignore ignore
|
|
679
952
|
import type { ControllerStockBalance } from '../controller/stockBalance.ts';
|
|
@@ -683,6 +956,10 @@ declare module 'vona-module-commerce-trade' {
|
|
|
683
956
|
actions?: TypeControllerOptionsActions<ControllerCart>;
|
|
684
957
|
}
|
|
685
958
|
|
|
959
|
+
export interface IControllerOptionsCheckout {
|
|
960
|
+
actions?: TypeControllerOptionsActions<ControllerCheckout>;
|
|
961
|
+
}
|
|
962
|
+
|
|
686
963
|
export interface IControllerOptionsStockAudit {
|
|
687
964
|
actions?: TypeControllerOptionsActions<ControllerStockAudit>;
|
|
688
965
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { IScheduleExecute } from 'vona-module-a-schedule';
|
|
2
|
+
|
|
3
|
+
import { BeanBase } from 'vona';
|
|
4
|
+
import { Schedule } from 'vona-module-a-schedule';
|
|
5
|
+
|
|
6
|
+
const ExpiryBatchLimit = 100;
|
|
7
|
+
|
|
8
|
+
@Schedule({ repeat: { every: 60 * 1000 } })
|
|
9
|
+
export class BeanScheduleOrderExpiry extends BeanBase implements IScheduleExecute {
|
|
10
|
+
async execute() {
|
|
11
|
+
const orders = await this.scope.model.order.select({
|
|
12
|
+
where: {
|
|
13
|
+
state: 'awaiting_payment',
|
|
14
|
+
reservationExpiresAt: { _lte_: new Date() },
|
|
15
|
+
},
|
|
16
|
+
orders: [
|
|
17
|
+
['reservationExpiresAt', 'asc'],
|
|
18
|
+
['id', 'asc'],
|
|
19
|
+
],
|
|
20
|
+
limit: ExpiryBatchLimit,
|
|
21
|
+
});
|
|
22
|
+
for (const order of orders) {
|
|
23
|
+
await this.scope.service.order.expireIfDue(order.id);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -9,6 +9,14 @@ import { $tableColumns } from 'vona-module-a-ormutils';
|
|
|
9
9
|
...$tableColumns('commerceTradeCart', 'userId'),
|
|
10
10
|
...$tableColumns('commerceTradeCartItem', 'cartId'),
|
|
11
11
|
...$tableColumns('commerceTradeCartItem', 'skuId'),
|
|
12
|
+
...$tableColumns('commerceTradeOrder', 'userId'),
|
|
13
|
+
...$tableColumns('commerceTradeOrder', 'correlationId'),
|
|
14
|
+
...$tableColumns('commerceTradeOrder', 'state'),
|
|
15
|
+
...$tableColumns('commerceTradeOrder', 'reservationExpiresAt'),
|
|
16
|
+
...$tableColumns('commerceTradeOrderLine', 'orderId'),
|
|
17
|
+
...$tableColumns('commerceTradeOrderAudit', 'orderId'),
|
|
18
|
+
...$tableColumns('commerceTradeOrderAudit', 'correlationId'),
|
|
19
|
+
...$tableColumns('commerceTradeOrderLine', 'skuId'),
|
|
12
20
|
...$tableColumns('commerceTradeStockAudit', 'stockBalanceId'),
|
|
13
21
|
...$tableColumns('commerceTradeStockAudit', 'skuId'),
|
|
14
22
|
...$tableColumns('commerceTradeStockAudit', 'stockReservationId'),
|
|
@@ -16,6 +24,7 @@ import { $tableColumns } from 'vona-module-a-ormutils';
|
|
|
16
24
|
...$tableColumns('commerceTradeStockBalance', 'skuId'),
|
|
17
25
|
...$tableColumns('commerceTradeStockReservation', 'stockBalanceId'),
|
|
18
26
|
...$tableColumns('commerceTradeStockReservation', 'skuId'),
|
|
27
|
+
...$tableColumns('commerceTradeStockReservation', 'orderLineId'),
|
|
19
28
|
...$tableColumns('commerceTradeStockReservation', 'correlationId'),
|
|
20
29
|
...$tableColumns('commerceTradeStockReservation', 'state'),
|
|
21
30
|
},
|
|
@@ -28,6 +28,10 @@ export class MetaVersion extends BeanBase implements IMetaVersionUpdate {
|
|
|
28
28
|
table
|
|
29
29
|
.tableIdentity(entityStockReservation.skuId)
|
|
30
30
|
.comment(entityStockReservation.$comment.skuId);
|
|
31
|
+
table
|
|
32
|
+
.tableIdentity(entityStockReservation.orderLineId)
|
|
33
|
+
.nullable()
|
|
34
|
+
.comment(entityStockReservation.$comment.orderLineId);
|
|
31
35
|
table
|
|
32
36
|
.integer(entityStockReservation.quantity)
|
|
33
37
|
.comment(entityStockReservation.$comment.quantity);
|
|
@@ -79,5 +83,76 @@ export class MetaVersion extends BeanBase implements IMetaVersionUpdate {
|
|
|
79
83
|
table.tableIdentity(entityCartItem.skuId).comment(entityCartItem.$comment.skuId);
|
|
80
84
|
table.integer(entityCartItem.quantity).comment(entityCartItem.$comment.quantity);
|
|
81
85
|
});
|
|
86
|
+
|
|
87
|
+
const entityOrder = this.scope.entity.order;
|
|
88
|
+
await this.bean.model.createTable(entityOrder.$table, table => {
|
|
89
|
+
table.comment(entityOrder.$comment.$table);
|
|
90
|
+
table.basicFields();
|
|
91
|
+
table.userId(entityOrder.userId).comment(entityOrder.$comment.userId);
|
|
92
|
+
table.tableIdentity(entityOrder.addressId).comment(entityOrder.$comment.addressId);
|
|
93
|
+
table.string(entityOrder.correlationId, 80).comment(entityOrder.$comment.correlationId);
|
|
94
|
+
table.json(entityOrder.addressSnapshot).comment(entityOrder.$comment.addressSnapshot);
|
|
95
|
+
table
|
|
96
|
+
.json(entityOrder.couponSnapshot)
|
|
97
|
+
.nullable()
|
|
98
|
+
.comment(entityOrder.$comment.couponSnapshot);
|
|
99
|
+
table.string(entityOrder.state, 30).comment(entityOrder.$comment.state);
|
|
100
|
+
table.string(entityOrder.currency, 3).comment(entityOrder.$comment.currency);
|
|
101
|
+
table
|
|
102
|
+
.integer(entityOrder.eligibleSubtotalCents)
|
|
103
|
+
.comment(entityOrder.$comment.eligibleSubtotalCents);
|
|
104
|
+
table.integer(entityOrder.discountCents).comment(entityOrder.$comment.discountCents);
|
|
105
|
+
table.integer(entityOrder.payableTotalCents).comment(entityOrder.$comment.payableTotalCents);
|
|
106
|
+
table
|
|
107
|
+
.dateTime(entityOrder.reservationExpiresAt)
|
|
108
|
+
.comment(entityOrder.$comment.reservationExpiresAt);
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
const entityOrderLine = this.scope.entity.orderLine;
|
|
112
|
+
await this.bean.model.createTable(entityOrderLine.$table, table => {
|
|
113
|
+
table.comment(entityOrderLine.$comment.$table);
|
|
114
|
+
table.basicFields();
|
|
115
|
+
table.tableIdentity(entityOrderLine.orderId).comment(entityOrderLine.$comment.orderId);
|
|
116
|
+
table.tableIdentity(entityOrderLine.skuId).comment(entityOrderLine.$comment.skuId);
|
|
117
|
+
table.tableIdentity(entityOrderLine.productId).comment(entityOrderLine.$comment.productId);
|
|
118
|
+
table
|
|
119
|
+
.string(entityOrderLine.skuCodeSnapshot, 100)
|
|
120
|
+
.comment(entityOrderLine.$comment.skuCodeSnapshot);
|
|
121
|
+
table
|
|
122
|
+
.string(entityOrderLine.titleSnapshot, 100)
|
|
123
|
+
.comment(entityOrderLine.$comment.titleSnapshot);
|
|
124
|
+
table
|
|
125
|
+
.json(entityOrderLine.skuAttributesSnapshot)
|
|
126
|
+
.comment(entityOrderLine.$comment.skuAttributesSnapshot);
|
|
127
|
+
table
|
|
128
|
+
.integer(entityOrderLine.unitPriceCents)
|
|
129
|
+
.comment(entityOrderLine.$comment.unitPriceCents);
|
|
130
|
+
table.integer(entityOrderLine.quantity).comment(entityOrderLine.$comment.quantity);
|
|
131
|
+
table
|
|
132
|
+
.integer(entityOrderLine.eligibleSubtotalCents)
|
|
133
|
+
.comment(entityOrderLine.$comment.eligibleSubtotalCents);
|
|
134
|
+
table
|
|
135
|
+
.integer(entityOrderLine.lineTotalCents)
|
|
136
|
+
.comment(entityOrderLine.$comment.lineTotalCents);
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
// This v1 schema is intentionally rebuild-only while Commerce is pre-deployment.
|
|
140
|
+
const entityOrderAudit = this.scope.entity.orderAudit;
|
|
141
|
+
await this.bean.model.createTable(entityOrderAudit.$table, table => {
|
|
142
|
+
table.comment(entityOrderAudit.$comment.$table);
|
|
143
|
+
table.basicFields();
|
|
144
|
+
table.tableIdentity(entityOrderAudit.orderId).comment(entityOrderAudit.$comment.orderId);
|
|
145
|
+
table.string(entityOrderAudit.operation, 20).comment(entityOrderAudit.$comment.operation);
|
|
146
|
+
table
|
|
147
|
+
.string(entityOrderAudit.fromState, 30)
|
|
148
|
+
.nullable()
|
|
149
|
+
.comment(entityOrderAudit.$comment.fromState);
|
|
150
|
+
table.string(entityOrderAudit.toState, 30).comment(entityOrderAudit.$comment.toState);
|
|
151
|
+
table.userId(entityOrderAudit.actorId).nullable().comment(entityOrderAudit.$comment.actorId);
|
|
152
|
+
table
|
|
153
|
+
.string(entityOrderAudit.correlationId, 100)
|
|
154
|
+
.comment(entityOrderAudit.$comment.correlationId);
|
|
155
|
+
table.string(entityOrderAudit.reason, 255).comment(entityOrderAudit.$comment.reason);
|
|
156
|
+
});
|
|
82
157
|
}
|
|
83
158
|
}
|