@things-factory/sales-base 4.3.239 → 4.3.244

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 (61) hide show
  1. package/dist-server/constants/order.js +2 -1
  2. package/dist-server/constants/order.js.map +1 -1
  3. package/dist-server/controllers/ecommerce/index.js +1 -0
  4. package/dist-server/controllers/ecommerce/index.js.map +1 -1
  5. package/dist-server/controllers/ecommerce/powrup-controller.js +211 -0
  6. package/dist-server/controllers/ecommerce/powrup-controller.js.map +1 -0
  7. package/dist-server/index.js +1 -0
  8. package/dist-server/index.js.map +1 -1
  9. package/dist-server/service/delivery-order/delivery-order-query.js +2 -2
  10. package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -1
  11. package/dist-server/service/index.js +4 -0
  12. package/dist-server/service/index.js.map +1 -1
  13. package/dist-server/service/order-inventory/order-inventory-query.js +2 -1
  14. package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
  15. package/dist-server/service/order-vas/order-vas-mutation.js +85 -0
  16. package/dist-server/service/order-vas/order-vas-mutation.js.map +1 -1
  17. package/dist-server/service/order-vas/order-vas-query.js +4 -1
  18. package/dist-server/service/order-vas/order-vas-query.js.map +1 -1
  19. package/dist-server/service/order-vas/order-vas-types.js +54 -10
  20. package/dist-server/service/order-vas/order-vas-types.js.map +1 -1
  21. package/dist-server/service/order-vas/order-vas.js +103 -21
  22. package/dist-server/service/order-vas/order-vas.js.map +1 -1
  23. package/dist-server/service/order-vas-item/index.js +9 -0
  24. package/dist-server/service/order-vas-item/index.js.map +1 -0
  25. package/dist-server/service/order-vas-item/order-vas-item-mutation.js +120 -0
  26. package/dist-server/service/order-vas-item/order-vas-item-mutation.js.map +1 -0
  27. package/dist-server/service/order-vas-item/order-vas-item-query.js +99 -0
  28. package/dist-server/service/order-vas-item/order-vas-item-query.js.map +1 -0
  29. package/dist-server/service/order-vas-item/order-vas-item-type.js +111 -0
  30. package/dist-server/service/order-vas-item/order-vas-item-type.js.map +1 -0
  31. package/dist-server/service/order-vas-item/order-vas-item.js +146 -0
  32. package/dist-server/service/order-vas-item/order-vas-item.js.map +1 -0
  33. package/dist-server/service/release-good/release-good-mutation.js +28 -25
  34. package/dist-server/service/release-good/release-good-mutation.js.map +1 -1
  35. package/dist-server/service/release-good/release-good-query.js +6 -1
  36. package/dist-server/service/release-good/release-good-query.js.map +1 -1
  37. package/dist-server/service/vas/vas.js +8 -6
  38. package/dist-server/service/vas/vas.js.map +1 -1
  39. package/dist-server/service/vas-order/vas-order-mutation.js +2 -2
  40. package/dist-server/service/vas-order/vas-order-mutation.js.map +1 -1
  41. package/package.json +4 -3
  42. package/server/constants/order.ts +2 -1
  43. package/server/controllers/ecommerce/index.ts +1 -0
  44. package/server/controllers/ecommerce/powrup-controller.ts +301 -0
  45. package/server/index.ts +1 -0
  46. package/server/service/delivery-order/delivery-order-query.ts +19 -19
  47. package/server/service/index.ts +4 -0
  48. package/server/service/order-inventory/order-inventory-query.ts +2 -1
  49. package/server/service/order-vas/order-vas-mutation.ts +94 -1
  50. package/server/service/order-vas/order-vas-query.ts +4 -1
  51. package/server/service/order-vas/order-vas-types.ts +34 -1
  52. package/server/service/order-vas/order-vas.ts +89 -10
  53. package/server/service/order-vas-item/index.ts +6 -0
  54. package/server/service/order-vas-item/order-vas-item-mutation.ts +112 -0
  55. package/server/service/order-vas-item/order-vas-item-query.ts +58 -0
  56. package/server/service/order-vas-item/order-vas-item-type.ts +71 -0
  57. package/server/service/order-vas-item/order-vas-item.ts +128 -0
  58. package/server/service/release-good/release-good-mutation.ts +30 -26
  59. package/server/service/release-good/release-good-query.ts +56 -87
  60. package/server/service/vas/vas.ts +11 -5
  61. package/server/service/vas-order/vas-order-mutation.ts +2 -2
@@ -4,6 +4,7 @@ import {
4
4
  CreateDateColumn,
5
5
  Entity,
6
6
  Index,
7
+ OneToMany,
7
8
  ManyToOne,
8
9
  PrimaryGeneratedColumn,
9
10
  RelationId,
@@ -17,6 +18,7 @@ import { Domain } from '@things-factory/shell'
17
18
  import { Inventory } from '@things-factory/warehouse-base'
18
19
 
19
20
  import { ArrivalNotice } from '../arrival-notice/arrival-notice'
21
+ import { OrderInventory } from '../order-inventory/order-inventory'
20
22
  import { ReleaseGood } from '../release-good/release-good'
21
23
  import { RetailReplenishmentOrder } from '../retail-replenishment-order/retail-replenishment-order'
22
24
  import { ReturnOrder } from '../return-order/return-order'
@@ -24,9 +26,12 @@ import { ShippingOrder } from '../shipping-order/shipping-order'
24
26
  import { TransferOrder } from '../transfer-order/transfer-order'
25
27
  import { VasOrder } from '../vas-order/vas-order'
26
28
  import { Vas } from '../vas/vas'
29
+ import { OrderVasItem } from '../order-vas-item/order-vas-item'
27
30
 
28
31
  @Entity('order_vass')
29
- @Index('ix_order-vas_0', (orderVas: OrderVas) => [orderVas.domain, orderVas.name], { unique: true })
32
+ @Index('ix_order-vas_0', (orderVas: OrderVas) => [orderVas.domain, orderVas.name, orderVas.releaseGood], {
33
+ unique: true
34
+ })
30
35
  @ObjectType()
31
36
  export class OrderVas {
32
37
  @PrimaryGeneratedColumn('uuid')
@@ -55,14 +60,17 @@ export class OrderVas {
55
60
  @Field({ nullable: true })
56
61
  batchId: string
57
62
 
63
+ // not used for restrructure VAS anymore
58
64
  @Column({ nullable: true })
59
65
  @Field({ nullable: true })
60
66
  set: number
61
67
 
68
+ // not used for restrructure VAS anymore
62
69
  @Column({ nullable: true })
63
70
  @Field({ nullable: true })
64
71
  targetType: string
65
72
 
73
+ // not used for restrructure VAS anymore
66
74
  @Column({ nullable: true })
67
75
  @Field({ nullable: true })
68
76
  targetBatchId: string
@@ -74,6 +82,45 @@ export class OrderVas {
74
82
  @RelationId((orderVas: OrderVas) => orderVas.targetProduct)
75
83
  targetProductId: string
76
84
 
85
+ @ManyToOne(type => Product)
86
+ @Field(type => Product, { nullable: true })
87
+ product: Product
88
+
89
+ @RelationId((orderVas: OrderVas) => orderVas.product)
90
+ productId: string
91
+
92
+ // moved to order vas item
93
+ // used to be productDetail
94
+ @ManyToOne(type => ProductDetail, { nullable: true })
95
+ @Field({ nullable: true })
96
+ productDetail: ProductDetail
97
+
98
+ @Column({ nullable: true })
99
+ @Field({ nullable: true })
100
+ outputQty: number
101
+
102
+ @ManyToOne(type => OrderInventory)
103
+ @Field(type => OrderInventory, { nullable: true })
104
+ orderInventory: OrderInventory
105
+
106
+ @RelationId((orderVas: OrderVas) => orderVas.orderInventory)
107
+ orderInventoryId: string
108
+
109
+ @ManyToOne(type => Product)
110
+ @Field(type => Product, { nullable: true })
111
+ newProduct: Product
112
+
113
+ @RelationId((orderVas: OrderVas) => orderVas.newProduct)
114
+ newProductId: string
115
+
116
+ @ManyToOne(type => ProductDetail, { nullable: true })
117
+ @Field({ nullable: true })
118
+ newProductDetail: ProductDetail
119
+
120
+ @RelationId((orderVas: OrderVas) => orderVas.newProductDetail)
121
+ newProductDetailId: string
122
+
123
+ // not used for restrructure VAS anymore
77
124
  @Column({ nullable: true })
78
125
  @Field({ nullable: true })
79
126
  otherTarget: string
@@ -82,18 +129,26 @@ export class OrderVas {
82
129
  @Field({ nullable: true })
83
130
  qty: number
84
131
 
132
+ // not used for restrructure VAS anymore
85
133
  @Column({ nullable: true })
86
134
  @Field({ nullable: true })
87
135
  actualQty: number
88
136
 
137
+ @Column({ nullable: true })
138
+ @Field({ nullable: true })
139
+ uom: string
140
+
141
+ // use order vas item
89
142
  @Column('float', { nullable: true })
90
143
  @Field({ nullable: true })
91
144
  uomValue: number
92
145
 
146
+ // not used for restrructure VAS anymore
93
147
  @Column('float', { nullable: true })
94
148
  @Field({ nullable: true })
95
149
  actualUomValue: number
96
150
 
151
+ // can try use from target product instead
97
152
  @Column({ nullable: true })
98
153
  @Field({ nullable: true })
99
154
  productName: string
@@ -116,45 +171,57 @@ export class OrderVas {
116
171
  @RelationId((orderVas: OrderVas) => orderVas.releaseGood)
117
172
  releaseGoodId: string
118
173
 
174
+ // not used for restrructure VAS anymore
119
175
  @ManyToOne(type => ShippingOrder)
120
176
  @Field(type => ShippingOrder, { nullable: true })
121
177
  shippingOrder: ShippingOrder
122
178
 
179
+ // not used for restrructure VAS anymore
123
180
  @RelationId((orderVas: OrderVas) => orderVas.shippingOrder)
124
181
  shippingOrderId: string
125
182
 
183
+ // not used for restrructure VAS anymore
126
184
  @ManyToOne(type => TransferOrder)
127
185
  @Field(type => TransferOrder, { nullable: true })
128
186
  transferOrder: TransferOrder
129
187
 
188
+ // not used for restrructure VAS anymore
130
189
  @RelationId((orderVas: OrderVas) => orderVas.transferOrder)
131
190
  transferOrderId: string
132
191
 
192
+ // not used for restrructure VAS anymore
133
193
  @ManyToOne(type => ReturnOrder)
134
194
  @Field(type => ReturnOrder, { nullable: true })
135
195
  returnOrder: ReturnOrder
136
196
 
197
+ // not used for restrructure VAS anymore
137
198
  @RelationId((orderVas: OrderVas) => orderVas.returnOrder)
138
199
  returnOrderId: string
139
200
 
201
+ // not used for restrructure VAS anymore
140
202
  @ManyToOne(type => RetailReplenishmentOrder)
141
203
  @Field(type => RetailReplenishmentOrder, { nullable: true })
142
204
  retailReplenishmentOrder: RetailReplenishmentOrder
143
205
 
206
+ // not used for restrructure VAS anymore
144
207
  @RelationId((orderVas: OrderVas) => orderVas.retailReplenishmentOrder)
145
208
  retailReplenishmentOrderId: string
146
209
 
210
+ // remove
147
211
  @ManyToOne(type => OrderVas)
148
212
  @Field(type => OrderVas, { nullable: true })
149
213
  orderVas: OrderVas
150
214
 
215
+ // remove
151
216
  @RelationId((orderVas: OrderVas) => orderVas.orderVas)
152
217
  orderVasId: string
153
218
 
219
+ // not used for restrructure VAS anymore
154
220
  @ManyToOne(type => VasOrder)
155
221
  @Field(type => VasOrder, { nullable: true })
156
222
  vasOrder: VasOrder
157
223
 
224
+ // not used for restrructure VAS anymore
158
225
  @RelationId((orderVas: OrderVas) => orderVas.vasOrder)
159
226
  vasOrderId: string
160
227
 
@@ -165,6 +232,7 @@ export class OrderVas {
165
232
  @RelationId((orderVas: OrderVas) => orderVas.vas)
166
233
  vasId: string
167
234
 
235
+ // not used for restrructure VAS anymore
168
236
  @Column({ nullable: true })
169
237
  @Field({ nullable: true })
170
238
  operationGuide: string
@@ -184,6 +252,22 @@ export class OrderVas {
184
252
  @Field({ nullable: true })
185
253
  remark: string
186
254
 
255
+ @Column({ nullable: true })
256
+ @Field({ nullable: true })
257
+ newPackingType: string
258
+
259
+ @Column({ nullable: true })
260
+ @Field({ nullable: true })
261
+ newUom: string
262
+
263
+ @Column({ nullable: true })
264
+ @Field({ nullable: true })
265
+ newUomValue: number
266
+
267
+ @OneToMany(type => OrderVasItem, orderVasItem => orderVasItem.orderVas)
268
+ @Field(type => [OrderVasItem])
269
+ orderVasItems: OrderVasItem[]
270
+
187
271
  @Column({ nullable: true })
188
272
  @Field({ nullable: true })
189
273
  description: string
@@ -196,14 +280,6 @@ export class OrderVas {
196
280
  @Field()
197
281
  createdAt: Date
198
282
 
199
- @UpdateDateColumn()
200
- @Field()
201
- updatedAt: Date
202
-
203
- @ManyToOne(type => ProductDetail, { nullable: true })
204
- @Field({ nullable: true })
205
- productDetail: ProductDetail
206
-
207
283
  @ManyToOne(type => User)
208
284
  @Field(type => User, { nullable: true })
209
285
  creator: User
@@ -211,11 +287,14 @@ export class OrderVas {
211
287
  @RelationId((orderVas: OrderVas) => orderVas.creator)
212
288
  creatorId: string
213
289
 
290
+ @UpdateDateColumn()
291
+ @Field()
292
+ updatedAt: Date
293
+
214
294
  @ManyToOne(type => User)
215
295
  @Field(type => User, { nullable: true })
216
296
  updater: User
217
297
 
218
298
  @RelationId((orderVas: OrderVas) => orderVas.updater)
219
299
  updaterId: string
220
-
221
300
  }
@@ -0,0 +1,6 @@
1
+ import { OrderVasItem } from './order-vas-item'
2
+ import { OrderVasItemQuery } from './order-vas-item-query'
3
+ import { OrderVasItemMutation } from './order-vas-item-mutation'
4
+
5
+ export const entities = [OrderVasItem]
6
+ export const resolvers = [OrderVasItemQuery, OrderVasItemMutation]
@@ -0,0 +1,112 @@
1
+ import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'
2
+ import { getRepository, In } from 'typeorm'
3
+ import { OrderVasItem } from './order-vas-item'
4
+ import { NewOrderVasItem, OrderVasItemPatch } from './order-vas-item-type'
5
+
6
+ @Resolver(OrderVasItem)
7
+ export class OrderVasItemMutation {
8
+ @Directive('@transaction')
9
+ @Mutation(returns => OrderVasItem, { description: 'To create new OrderVasItem' })
10
+ async createOrderVasItem(
11
+ @Arg('orderVasItem') orderVasItem: NewOrderVasItem,
12
+ @Ctx() context: any
13
+ ): Promise<OrderVasItem> {
14
+ const { domain, user, tx } = context.state
15
+
16
+ return await tx.getRepository(OrderVasItem).save({
17
+ ...orderVasItem,
18
+ domain,
19
+ creator: user,
20
+ updater: user
21
+ })
22
+ }
23
+
24
+ @Directive('@transaction')
25
+ @Mutation(returns => OrderVasItem, { description: 'To modify OrderVasItem information' })
26
+ async updateOrderVasItem(
27
+ @Arg('id') id: string,
28
+ @Arg('patch') patch: OrderVasItemPatch,
29
+ @Ctx() context: any
30
+ ): Promise<OrderVasItem> {
31
+ const { domain, user, tx } = context.state
32
+
33
+ const repository = tx.getRepository(OrderVasItem)
34
+ const orderVasItem = await repository.findOne({
35
+ where: { domain, id }
36
+ })
37
+
38
+ return await repository.save({
39
+ ...orderVasItem,
40
+ ...patch,
41
+ updater: user
42
+ })
43
+ }
44
+
45
+ @Directive('@transaction')
46
+ @Mutation(returns => [OrderVasItem], { description: "To modify multiple OrderVasItems' information" })
47
+ async updateMultipleOrderVasItem(
48
+ @Arg('patches', type => [OrderVasItemPatch]) patches: OrderVasItemPatch[],
49
+ @Ctx() context: any
50
+ ): Promise<OrderVasItem[]> {
51
+ const { domain, user, tx } = context.state
52
+
53
+ let results = []
54
+ const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
55
+ const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
56
+ const orderVasItemRepo = tx.getRepository(OrderVasItem)
57
+
58
+ if (_createRecords.length > 0) {
59
+ for (let i = 0; i < _createRecords.length; i++) {
60
+ const newRecord = _createRecords[i]
61
+ const result = await orderVasItemRepo.save({
62
+ ...newRecord,
63
+ executedAt: null,
64
+ domain,
65
+ creator: user,
66
+ updater: user
67
+ })
68
+
69
+ results.push({ ...result, cuFlag: '+' })
70
+ }
71
+ }
72
+
73
+ if (_updateRecords.length > 0) {
74
+ for (let i = 0; i < _updateRecords.length; i++) {
75
+ const newRecord = _updateRecords[i]
76
+ const orderVasItem = await orderVasItemRepo.findOne(newRecord.id)
77
+
78
+ const result = await orderVasItemRepo.save({
79
+ ...orderVasItem,
80
+ ...newRecord,
81
+ updater: user
82
+ })
83
+
84
+ results.push({ ...result, cuFlag: 'M' })
85
+ }
86
+ }
87
+
88
+ return results
89
+ }
90
+
91
+ @Directive('@transaction')
92
+ @Mutation(returns => Boolean, { description: 'To delete OrderVasItem' })
93
+ async deleteOrderVasItem(@Arg('id') id: string, @Ctx() context: any): Promise<boolean> {
94
+ const { domain, tx } = context.state
95
+
96
+ await tx.getRepository(OrderVasItem).delete({ domain, id })
97
+ return true
98
+ }
99
+
100
+ @Directive('@transaction')
101
+ @Mutation(returns => Boolean, { description: 'To delete multiple orderVasItems' })
102
+ async deleteOrderVasItems(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<boolean> {
103
+ const { domain, tx } = context.state
104
+
105
+ await tx.getRepository(OrderVasItem).delete({
106
+ domain,
107
+ id: In(ids)
108
+ })
109
+
110
+ return true
111
+ }
112
+ }
@@ -0,0 +1,58 @@
1
+ import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'
2
+ import { getRepository } from 'typeorm'
3
+ import { Domain, ListParam, convertListParams } from '@things-factory/shell'
4
+ import { User } from '@things-factory/auth-base'
5
+ import { OrderVasItem } from './order-vas-item'
6
+ import { OrderVasItemList } from './order-vas-item-type'
7
+
8
+ @Resolver(OrderVasItem)
9
+ export class OrderVasItemQuery {
10
+ @Query(returns => OrderVasItem, { description: 'To fetch a OrderVasItem' })
11
+ async orderVasItem(@Arg('id') id: string, @Ctx() context: any): Promise<OrderVasItem> {
12
+ const { domain } = context.state
13
+
14
+ return await getRepository(OrderVasItem).findOne({
15
+ where: { domain, id }
16
+ })
17
+ }
18
+
19
+ @Query(returns => OrderVasItemList, { description: 'To fetch multiple OrderVasItems' })
20
+ async orderVasItems(@Args() params: ListParam, @Ctx() context: any): Promise<OrderVasItemList> {
21
+ const { domain } = context.state
22
+
23
+ const convertedParams = convertListParams(params, domain.id)
24
+ const [items, total] = await getRepository(OrderVasItem).findAndCount({
25
+ ...convertedParams,
26
+ relations: [
27
+ 'domain',
28
+ 'bizplace',
29
+ 'orderVas',
30
+ 'vas',
31
+ 'product',
32
+ 'productDetail',
33
+ 'newProduct',
34
+ 'newProductDetail',
35
+ 'orderInventory',
36
+ 'creator',
37
+ 'updater'
38
+ ]
39
+ })
40
+
41
+ return { items, total }
42
+ }
43
+
44
+ @FieldResolver(type => Domain)
45
+ async domain(@Root() orderVasItem: OrderVasItem): Promise<Domain> {
46
+ return await getRepository(Domain).findOne(orderVasItem.domainId)
47
+ }
48
+
49
+ @FieldResolver(type => User)
50
+ async updater(@Root() orderVasItem: OrderVasItem): Promise<User> {
51
+ return await getRepository(User).findOne(orderVasItem.updaterId)
52
+ }
53
+
54
+ @FieldResolver(type => User)
55
+ async creator(@Root() orderVasItem: OrderVasItem): Promise<User> {
56
+ return await getRepository(User).findOne(orderVasItem.creatorId)
57
+ }
58
+ }
@@ -0,0 +1,71 @@
1
+ import { ObjectType, Field, InputType, Int, ID, registerEnumType } from 'type-graphql'
2
+
3
+ import { OrderVasItem, OrderVasItemStatus } from './order-vas-item'
4
+
5
+ import { ObjectRef } from '@things-factory/shell'
6
+
7
+ @InputType()
8
+ export class NewOrderVasItem {
9
+ @Field()
10
+ name: string
11
+
12
+ @Field({ nullable: true })
13
+ description?: string
14
+
15
+ @Field(type => OrderVasItemStatus, { nullable: true })
16
+ state?: OrderVasItemStatus
17
+
18
+ @Field({ nullable: true })
19
+ active?: boolean
20
+
21
+ @Field({ nullable: true })
22
+ params?: string
23
+ }
24
+
25
+ @InputType()
26
+ export class OrderVasItemPatch {
27
+ @Field(type => ID, { nullable: true })
28
+ id?: string
29
+
30
+ @Field({ nullable: true })
31
+ name?: string
32
+
33
+ @Field({ nullable: true })
34
+ description?: string
35
+
36
+ @Field({ nullable: true })
37
+ orderVas?: ObjectRef
38
+
39
+ @Field({ nullable: true })
40
+ orderVasId?: string
41
+
42
+ @Field({ nullable: true })
43
+ vas?: ObjectRef
44
+
45
+ @Field({ nullable: true })
46
+ vasId?: string
47
+
48
+ @Field({ nullable: true })
49
+ vasQty?: number
50
+
51
+ @Field({ nullable: true })
52
+ executedAt?: Date
53
+
54
+ @Field(type => OrderVasItemStatus, { nullable: true })
55
+ state?: OrderVasItemStatus
56
+
57
+ @Field({ nullable: true })
58
+ active?: boolean
59
+
60
+ @Field()
61
+ cuFlag: string
62
+ }
63
+
64
+ @ObjectType()
65
+ export class OrderVasItemList {
66
+ @Field(type => [OrderVasItem])
67
+ items: OrderVasItem[]
68
+
69
+ @Field(type => Int)
70
+ total: number
71
+ }
@@ -0,0 +1,128 @@
1
+ import {
2
+ CreateDateColumn,
3
+ UpdateDateColumn,
4
+ Entity,
5
+ Index,
6
+ Column,
7
+ RelationId,
8
+ ManyToOne,
9
+ PrimaryGeneratedColumn
10
+ } from 'typeorm'
11
+ import { ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'
12
+
13
+ import { Domain } from '@things-factory/shell'
14
+ import { User } from '@things-factory/auth-base'
15
+
16
+ export enum OrderVasItemStatus {
17
+ STATUS_A = 'STATUS_A',
18
+ STATUS_B = 'STATUS_B'
19
+ }
20
+
21
+ import { OrderInventory } from '../order-inventory/order-inventory'
22
+ import { Product, ProductDetail } from '@things-factory/product-base'
23
+ import { OrderVas } from '../order-vas/order-vas'
24
+ import { Bizplace } from '@things-factory/biz-base'
25
+ import { Vas } from '../vas/vas'
26
+
27
+ registerEnumType(OrderVasItemStatus, {
28
+ name: 'OrderVasItemStatus',
29
+ description: 'state enumeration of a orderVasItem'
30
+ })
31
+
32
+ @Entity()
33
+ @Index(
34
+ 'ix_order_vas_item_0',
35
+ (orderVasItem: OrderVasItem) => [orderVasItem.domain, orderVasItem.orderVas, orderVasItem.vas],
36
+ {
37
+ unique: true
38
+ }
39
+ )
40
+ @ObjectType({ description: 'Entity for OrderVasItem' })
41
+ export class OrderVasItem {
42
+ @PrimaryGeneratedColumn('uuid')
43
+ @Field(type => ID)
44
+ readonly id: string
45
+
46
+ @ManyToOne(type => Domain)
47
+ @Field({ nullable: true })
48
+ domain?: Domain
49
+
50
+ @RelationId((orderVasItem: OrderVasItem) => orderVasItem.domain)
51
+ domainId?: string
52
+
53
+ @Column()
54
+ @Field()
55
+ name: string
56
+
57
+ @Column({
58
+ nullable: true
59
+ })
60
+ @Field({ nullable: true })
61
+ description?: string
62
+
63
+ @ManyToOne(type => Vas)
64
+ @Field(type => Vas, { nullable: true })
65
+ vas: Vas
66
+
67
+ @RelationId((orderVasItem: OrderVasItem) => orderVasItem.vas)
68
+ vasId: string
69
+
70
+ @Column({ nullable: true })
71
+ @Field({ nullable: true })
72
+ vasQty: number
73
+
74
+ @ManyToOne(type => OrderVas)
75
+ @Field(type => OrderVas, { nullable: true })
76
+ orderVas: OrderVas
77
+
78
+ @RelationId((orderVasItem: OrderVasItem) => orderVasItem.orderVas)
79
+ orderVasId: string
80
+
81
+ @Column({
82
+ nullable: true
83
+ })
84
+ @Field({ nullable: true })
85
+ active?: boolean
86
+
87
+ @Column({
88
+ nullable: true
89
+ })
90
+ @Field({ nullable: true })
91
+ state?: OrderVasItemStatus
92
+
93
+ @Column({
94
+ nullable: true
95
+ })
96
+ @Field({ nullable: true })
97
+ params?: string
98
+
99
+ @Column({ nullable: true })
100
+ @Field({ nullable: true })
101
+ executedAt?: Date
102
+
103
+ @CreateDateColumn()
104
+ @Field({ nullable: true })
105
+ createdAt?: Date
106
+
107
+ @UpdateDateColumn()
108
+ @Field({ nullable: true })
109
+ updatedAt?: Date
110
+
111
+ @ManyToOne(type => User, {
112
+ nullable: true
113
+ })
114
+ @Field({ nullable: true })
115
+ creator?: User
116
+
117
+ @RelationId((orderVasItem: OrderVasItem) => orderVasItem.creator)
118
+ creatorId?: string
119
+
120
+ @ManyToOne(type => User, {
121
+ nullable: true
122
+ })
123
+ @Field({ nullable: true })
124
+ updater?: User
125
+
126
+ @RelationId((orderVasItem: OrderVasItem) => orderVasItem.creator)
127
+ updaterId?: string
128
+ }