@things-factory/warehouse-base 5.0.14 → 6.0.0-alpha.3

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 (142) hide show
  1. package/dist-server/controllers/ecommerce/ecommerce-controller.js +1 -1
  2. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
  3. package/dist-server/controllers/ecommerce/sellercraft-controller.js +64 -60
  4. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
  5. package/dist-server/controllers/warehouse-controller.js +7 -5
  6. package/dist-server/controllers/warehouse-controller.js.map +1 -1
  7. package/dist-server/service/inventory/inventory-mutation.js +6 -6
  8. package/dist-server/service/inventory/inventory-mutation.js.map +1 -1
  9. package/dist-server/service/inventory/inventory-query.js +217 -195
  10. package/dist-server/service/inventory/inventory-query.js.map +1 -1
  11. package/dist-server/service/inventory/inventory-types.js +14 -15
  12. package/dist-server/service/inventory/inventory-types.js.map +1 -1
  13. package/dist-server/service/inventory/inventory.js +62 -42
  14. package/dist-server/service/inventory/inventory.js.map +1 -1
  15. package/dist-server/service/inventory-change/inventory-change-mutation.js +252 -216
  16. package/dist-server/service/inventory-change/inventory-change-mutation.js.map +1 -1
  17. package/dist-server/service/inventory-change/inventory-change-query.js +6 -7
  18. package/dist-server/service/inventory-change/inventory-change-query.js.map +1 -1
  19. package/dist-server/service/inventory-change/inventory-change.js +7 -7
  20. package/dist-server/service/inventory-change/inventory-change.js.map +1 -1
  21. package/dist-server/service/inventory-history/inventory-history-mutation.js +1 -1
  22. package/dist-server/service/inventory-history/inventory-history-mutation.js.map +1 -1
  23. package/dist-server/service/inventory-history/inventory-history-query.js +89 -99
  24. package/dist-server/service/inventory-history/inventory-history-query.js.map +1 -1
  25. package/dist-server/service/inventory-history/inventory-history-types.js +3 -3
  26. package/dist-server/service/inventory-history/inventory-history-types.js.map +1 -1
  27. package/dist-server/service/inventory-history/inventory-history.js +7 -7
  28. package/dist-server/service/inventory-history/inventory-history.js.map +1 -1
  29. package/dist-server/service/inventory-item/inventory-item-mutation.js +10 -10
  30. package/dist-server/service/inventory-item/inventory-item-mutation.js.map +1 -1
  31. package/dist-server/service/inventory-item/inventory-item-query.js +18 -17
  32. package/dist-server/service/inventory-item/inventory-item-query.js.map +1 -1
  33. package/dist-server/service/inventory-item/inventory-item-type.js +4 -5
  34. package/dist-server/service/inventory-item/inventory-item-type.js.map +1 -1
  35. package/dist-server/service/inventory-item/inventory-item.js +5 -5
  36. package/dist-server/service/inventory-item/inventory-item.js.map +1 -1
  37. package/dist-server/service/inventory-item-change/inventory-item-change-mutation.js +4 -4
  38. package/dist-server/service/inventory-item-change/inventory-item-change-mutation.js.map +1 -1
  39. package/dist-server/service/inventory-item-change/inventory-item-change-query.js +7 -9
  40. package/dist-server/service/inventory-item-change/inventory-item-change-query.js.map +1 -1
  41. package/dist-server/service/inventory-item-change/inventory-item-change-type.js +6 -7
  42. package/dist-server/service/inventory-item-change/inventory-item-change-type.js.map +1 -1
  43. package/dist-server/service/inventory-item-change/inventory-item-change.js +3 -4
  44. package/dist-server/service/inventory-item-change/inventory-item-change.js.map +1 -1
  45. package/dist-server/service/inventory-product/inventory-product-mutation.js +4 -4
  46. package/dist-server/service/inventory-product/inventory-product-mutation.js.map +1 -1
  47. package/dist-server/service/inventory-product/inventory-product-query.js +7 -9
  48. package/dist-server/service/inventory-product/inventory-product-query.js.map +1 -1
  49. package/dist-server/service/inventory-product/inventory-product-type.js +1 -2
  50. package/dist-server/service/inventory-product/inventory-product-type.js.map +1 -1
  51. package/dist-server/service/inventory-product/inventory-product.js +5 -5
  52. package/dist-server/service/inventory-product/inventory-product.js.map +1 -1
  53. package/dist-server/service/location/location-mutation.js +5 -5
  54. package/dist-server/service/location/location-mutation.js.map +1 -1
  55. package/dist-server/service/location/location-query.js +17 -19
  56. package/dist-server/service/location/location-query.js.map +1 -1
  57. package/dist-server/service/location/location-types.js +3 -3
  58. package/dist-server/service/location/location-types.js.map +1 -1
  59. package/dist-server/service/location/location.js +14 -14
  60. package/dist-server/service/location/location.js.map +1 -1
  61. package/dist-server/service/movement/movement-mutation.js +6 -5
  62. package/dist-server/service/movement/movement-mutation.js.map +1 -1
  63. package/dist-server/service/movement/movement-query.js +15 -15
  64. package/dist-server/service/movement/movement-query.js.map +1 -1
  65. package/dist-server/service/movement/movement-types.js +4 -5
  66. package/dist-server/service/movement/movement-types.js.map +1 -1
  67. package/dist-server/service/movement/movement.js +5 -5
  68. package/dist-server/service/movement/movement.js.map +1 -1
  69. package/dist-server/service/pallet/pallet-mutation.js +5 -5
  70. package/dist-server/service/pallet/pallet-mutation.js.map +1 -1
  71. package/dist-server/service/pallet/pallet-query.js +9 -11
  72. package/dist-server/service/pallet/pallet-query.js.map +1 -1
  73. package/dist-server/service/pallet/pallet-types.js +5 -6
  74. package/dist-server/service/pallet/pallet-types.js.map +1 -1
  75. package/dist-server/service/pallet/pallet.js +6 -6
  76. package/dist-server/service/pallet/pallet.js.map +1 -1
  77. package/dist-server/service/pallet-count/pallet-count-mutation.js +1 -1
  78. package/dist-server/service/pallet-count/pallet-count-mutation.js.map +1 -1
  79. package/dist-server/service/pallet-count/pallet-count-query.js +6 -8
  80. package/dist-server/service/pallet-count/pallet-count-query.js.map +1 -1
  81. package/dist-server/service/pallet-count/pallet-count.js +3 -4
  82. package/dist-server/service/pallet-count/pallet-count.js.map +1 -1
  83. package/dist-server/service/pallet-history/pallet-history-mutation.js +1 -1
  84. package/dist-server/service/pallet-history/pallet-history-mutation.js.map +1 -1
  85. package/dist-server/service/pallet-history/pallet-history-query.js +6 -8
  86. package/dist-server/service/pallet-history/pallet-history-query.js.map +1 -1
  87. package/dist-server/service/pallet-history/pallet-history.js +6 -6
  88. package/dist-server/service/pallet-history/pallet-history.js.map +1 -1
  89. package/dist-server/service/reduced-inventory-history/reduced-inventory-history.js +1 -1
  90. package/dist-server/service/reduced-inventory-history/reduced-inventory-history.js.map +1 -1
  91. package/dist-server/service/tote/tote-mutation.js +4 -4
  92. package/dist-server/service/tote/tote-mutation.js.map +1 -1
  93. package/dist-server/service/tote/tote-query.js +12 -13
  94. package/dist-server/service/tote/tote-query.js.map +1 -1
  95. package/dist-server/service/tote/tote-types.js +2 -3
  96. package/dist-server/service/tote/tote-types.js.map +1 -1
  97. package/dist-server/service/tote/tote.js +5 -5
  98. package/dist-server/service/tote/tote.js.map +1 -1
  99. package/dist-server/service/warehouse/warehouse-mutation.js +1 -1
  100. package/dist-server/service/warehouse/warehouse-mutation.js.map +1 -1
  101. package/dist-server/service/warehouse/warehouse-query.js +9 -10
  102. package/dist-server/service/warehouse/warehouse-query.js.map +1 -1
  103. package/dist-server/service/warehouse/warehouse.js +12 -12
  104. package/dist-server/service/warehouse/warehouse.js.map +1 -1
  105. package/dist-server/tsconfig.tsbuildinfo +1 -1
  106. package/dist-server/utils/inventory-util.js +16 -16
  107. package/dist-server/utils/inventory-util.js.map +1 -1
  108. package/package.json +8 -8
  109. package/server/controllers/ecommerce/ecommerce-controller.ts +1 -1
  110. package/server/controllers/ecommerce/sellercraft-controller.ts +75 -65
  111. package/server/controllers/warehouse-controller.ts +9 -4
  112. package/server/service/inventory/inventory-mutation.ts +28 -24
  113. package/server/service/inventory/inventory-query.ts +269 -304
  114. package/server/service/inventory/inventory.ts +50 -35
  115. package/server/service/inventory-change/inventory-change-mutation.ts +305 -256
  116. package/server/service/inventory-change/inventory-change-query.ts +9 -9
  117. package/server/service/inventory-history/inventory-history-mutation.ts +12 -15
  118. package/server/service/inventory-history/inventory-history-query.ts +158 -133
  119. package/server/service/inventory-item/inventory-item-mutation.ts +20 -17
  120. package/server/service/inventory-item/inventory-item-query.ts +28 -18
  121. package/server/service/inventory-item-change/inventory-item-change-mutation.ts +12 -9
  122. package/server/service/inventory-item-change/inventory-item-change-query.ts +10 -8
  123. package/server/service/inventory-product/inventory-product-mutation.ts +16 -12
  124. package/server/service/inventory-product/inventory-product-query.ts +7 -8
  125. package/server/service/location/location-mutation.ts +24 -24
  126. package/server/service/location/location-query.ts +27 -23
  127. package/server/service/location/location.ts +11 -10
  128. package/server/service/movement/movement-mutation.ts +7 -8
  129. package/server/service/movement/movement-query.ts +18 -16
  130. package/server/service/pallet/pallet-mutation.ts +18 -20
  131. package/server/service/pallet/pallet-query.ts +13 -14
  132. package/server/service/pallet-count/pallet-count-mutation.ts +20 -17
  133. package/server/service/pallet-count/pallet-count-query.ts +6 -7
  134. package/server/service/pallet-history/pallet-history-mutation.ts +15 -15
  135. package/server/service/pallet-history/pallet-history-query.ts +7 -8
  136. package/server/service/reduced-inventory-history/reduced-inventory-history.ts +1 -1
  137. package/server/service/tote/tote-mutation.ts +23 -22
  138. package/server/service/tote/tote-query.ts +18 -14
  139. package/server/service/warehouse/warehouse-mutation.ts +21 -18
  140. package/server/service/warehouse/warehouse-query.ts +11 -11
  141. package/server/service/warehouse/warehouse.ts +7 -7
  142. package/server/utils/inventory-util.ts +10 -10
@@ -1,8 +1,5 @@
1
1
  import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
2
- import { EntityManager, In } from 'typeorm'
3
-
4
- import { User } from '@things-factory/auth-base'
5
- import { Domain } from '@things-factory/shell'
2
+ import { In } from 'typeorm'
6
3
 
7
4
  import { PalletHistory } from './pallet-history'
8
5
  import { NewPalletHistory, PalletHistoryPatch } from './pallet-history-types'
@@ -13,9 +10,9 @@ export class PalletHistoryMutation {
13
10
  @Mutation(returns => PalletHistory)
14
11
  async createPalletHistory(
15
12
  @Arg('palletHistory') palletHistory: NewPalletHistory,
16
- @Ctx() context: any
13
+ @Ctx() context: ResolverContext
17
14
  ): Promise<PalletHistory> {
18
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
15
+ const { domain, user, tx } = context.state
19
16
 
20
17
  return await tx.getRepository(PalletHistory).save({
21
18
  ...palletHistory,
@@ -30,9 +27,9 @@ export class PalletHistoryMutation {
30
27
  async updatePalletHistory(
31
28
  @Arg('name') name: string,
32
29
  @Arg('patch') patch: PalletHistoryPatch,
33
- @Ctx() context: any
30
+ @Ctx() context: ResolverContext
34
31
  ): Promise<PalletHistory> {
35
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
32
+ const { domain, user, tx } = context.state
36
33
 
37
34
  const repository = tx.getRepository(PalletHistory)
38
35
  const palletHistory = await repository.findOne({
@@ -50,9 +47,9 @@ export class PalletHistoryMutation {
50
47
  @Mutation(returns => [PalletHistory])
51
48
  async updateMultiplePalletHistory(
52
49
  @Arg('patches', type => [PalletHistoryPatch]) patches: PalletHistoryPatch[],
53
- @Ctx() context: any
50
+ @Ctx() context: ResolverContext
54
51
  ): Promise<PalletHistory[]> {
55
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
52
+ const { domain, user, tx } = context.state
56
53
  let results = []
57
54
  const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
58
55
  const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
@@ -76,7 +73,7 @@ export class PalletHistoryMutation {
76
73
  if (_updateRecords.length > 0) {
77
74
  for (let i = 0; i < _updateRecords.length; i++) {
78
75
  const newRecord = _updateRecords[i]
79
- const palletHistory = await palletHistoryRepo.findOne(newRecord.id)
76
+ const palletHistory = await palletHistoryRepo.findOneBy({ id: newRecord.id })
80
77
 
81
78
  const result = await palletHistoryRepo.save({
82
79
  ...palletHistory,
@@ -93,8 +90,8 @@ export class PalletHistoryMutation {
93
90
 
94
91
  @Directive('@transaction')
95
92
  @Mutation(returns => Boolean)
96
- async deletePalletHistory(@Arg('name') name: string, @Ctx() context: any): Promise<Boolean> {
97
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
93
+ async deletePalletHistory(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {
94
+ const { domain, user, tx } = context.state
98
95
 
99
96
  await tx.getRepository(PalletHistory).delete({ domain: domain, name })
100
97
  return true
@@ -102,8 +99,11 @@ export class PalletHistoryMutation {
102
99
 
103
100
  @Directive('@transaction')
104
101
  @Mutation(returns => Boolean)
105
- async deletePalletHistories(@Arg('names', type => [String]) names: string[], @Ctx() context: any): Promise<Boolean> {
106
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
102
+ async deletePalletHistories(
103
+ @Arg('names', type => [String]) names: string[],
104
+ @Ctx() context: ResolverContext
105
+ ): Promise<Boolean> {
106
+ const { domain, user, tx } = context.state
107
107
 
108
108
  await tx.getRepository(PalletHistory).delete({
109
109
  domain: domain,
@@ -1,8 +1,7 @@
1
1
  import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
- import { getRepository } from 'typeorm'
3
2
 
4
3
  import { User } from '@things-factory/auth-base'
5
- import { convertListParams, Domain, ListParam } from '@things-factory/shell'
4
+ import { convertListParams, Domain, getRepository, ListParam } from '@things-factory/shell'
6
5
 
7
6
  import { PalletHistory } from './pallet-history'
8
7
  import { PalletHistoryList } from './pallet-history-types'
@@ -10,7 +9,7 @@ import { PalletHistoryList } from './pallet-history-types'
10
9
  @Resolver(PalletHistory)
11
10
  export class PalletHistoryQuery {
12
11
  @Query(returns => PalletHistoryList)
13
- async palletHistories(@Args() params: ListParam, @Ctx() context: any): Promise<PalletHistoryList> {
12
+ async palletHistories(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<PalletHistoryList> {
14
13
  const convertedParams = convertListParams(params)
15
14
  const [items, total] = await getRepository(PalletHistory).findAndCount({
16
15
  ...convertedParams,
@@ -20,8 +19,8 @@ export class PalletHistoryQuery {
20
19
  }
21
20
 
22
21
  @Query(returns => PalletHistory)
23
- async palletHistory(@Arg('name') name: string, @Ctx() context: any): Promise<PalletHistory> {
24
- const { domain }: { domain: Domain } = context.state
22
+ async palletHistory(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<PalletHistory> {
23
+ const { domain } = context.state
25
24
 
26
25
  return await getRepository(PalletHistory).findOne({
27
26
  where: { domain: domain, name },
@@ -31,16 +30,16 @@ export class PalletHistoryQuery {
31
30
 
32
31
  @FieldResolver(type => Domain)
33
32
  async domain(@Root() palletHistory: PalletHistory) {
34
- return await getRepository(Domain).findOne(palletHistory.domainId)
33
+ return await getRepository(Domain).findOneBy({ id: palletHistory.domainId })
35
34
  }
36
35
 
37
36
  @FieldResolver(type => User)
38
37
  async updater(@Root() palletHistory: PalletHistory) {
39
- return await getRepository(User).findOne(palletHistory.updaterId)
38
+ return await getRepository(User).findOneBy({ id: palletHistory.updaterId })
40
39
  }
41
40
 
42
41
  @FieldResolver(type => User)
43
42
  async creator(@Root() palletHistory: PalletHistory) {
44
- return await getRepository(User).findOne(palletHistory.creatorId)
43
+ return await getRepository(User).findOneBy({ id: palletHistory.creatorId })
45
44
  }
46
45
  }
@@ -9,7 +9,7 @@ import { ViewColumn, ViewEntity } from 'typeorm'
9
9
  AND (
10
10
  ((ih2.transaction_type::text = 'CANCEL_ORDER'::text) AND ih2.ref_order_id::text = ih.ref_order_id::TEXT)
11
11
  OR
12
- ((ih2.seq = (ih.seq + 1) OR ih2.seq = ih.seq) AND (ih2.transaction_type::text = 'UNDO_UNLOADING'::TEXT OR ih2.transaction_type::text = 'UNDO_LOADING'::TEXT))
12
+ ((ih2.seq = (ih.seq + 1) OR ih2.seq = ih.seq) AND (ih2.transaction_type::text = 'UNDO_UNLOADING'::TEXT))
13
13
  )
14
14
  )
15
15
  `
@@ -1,11 +1,8 @@
1
1
  import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
2
- import { EntityManager, In } from 'typeorm'
2
+ import { In } from 'typeorm'
3
3
 
4
- import { User } from '@things-factory/auth-base'
5
4
  import { Bizplace } from '@things-factory/biz-base'
6
- import { Domain } from '@things-factory/shell'
7
5
 
8
- import { PalletHistory } from '../pallet-history/pallet-history'
9
6
  import { Tote } from './tote'
10
7
  import { NewTote, TotePatch } from './tote-types'
11
8
 
@@ -13,8 +10,8 @@ import { NewTote, TotePatch } from './tote-types'
13
10
  export class ToteMutation {
14
11
  @Directive('@transaction')
15
12
  @Mutation(returns => Tote)
16
- async createTote(@Arg('pallet') tote: NewTote, @Ctx() context: any): Promise<Tote> {
17
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
13
+ async createTote(@Arg('pallet') tote: NewTote, @Ctx() context: ResolverContext): Promise<Tote> {
14
+ const { domain, user, tx } = context.state
18
15
 
19
16
  const existingTote: string[] = (await tx.getRepository(Tote).find({ relations: ['user'] })).map(tote => tote.name)
20
17
  if (existingTote.includes(tote.name)) throw new Error('tote box already exists')
@@ -29,8 +26,12 @@ export class ToteMutation {
29
26
 
30
27
  @Directive('@transaction')
31
28
  @Mutation(returns => Tote)
32
- async updateTote(@Arg('name') name: string, @Arg('patch') patch: TotePatch, @Ctx() context: any): Promise<Tote> {
33
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
29
+ async updateTote(
30
+ @Arg('name') name: string,
31
+ @Arg('patch') patch: TotePatch,
32
+ @Ctx() context: ResolverContext
33
+ ): Promise<Tote> {
34
+ const { domain, user, tx } = context.state
34
35
 
35
36
  const repository = tx.getRepository(Tote)
36
37
  const tote = await repository.findOne({
@@ -48,9 +49,9 @@ export class ToteMutation {
48
49
  @Mutation(returns => [Tote])
49
50
  async updateMultipleTote(
50
51
  @Arg('patches', type => [TotePatch]) patches: TotePatch[],
51
- @Ctx() context: any
52
+ @Ctx() context: ResolverContext
52
53
  ): Promise<Tote[]> {
53
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
54
+ const { domain, user, tx } = context.state
54
55
 
55
56
  let results = []
56
57
  const _createRecords = patches.filter((patch: any) => patch.cuFlag === '+')
@@ -61,12 +62,12 @@ export class ToteMutation {
61
62
  const newRecord = _createRecords[i]
62
63
 
63
64
  if (newRecord.bizplace && newRecord.bizplace.id) {
64
- newRecord.bizplace = await tx.getRepository(Bizplace).findOne(newRecord.bizplace.id)
65
+ newRecord.bizplace = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.bizplace.id })) as any
65
66
  }
66
67
 
67
68
  let foundTote = await tx
68
69
  .getRepository(Tote)
69
- .findOne({ where: { domain, name: newRecord.name, bizplace: newRecord.bizplace } })
70
+ .findOne({ where: { domain: { id: domain.id }, name: newRecord.name, bizplace: newRecord.bizplace } })
70
71
 
71
72
  if (foundTote) {
72
73
  throw new Error('Duplicated tote found')
@@ -92,12 +93,12 @@ export class ToteMutation {
92
93
  })
93
94
 
94
95
  if (newRecord.bizplace && newRecord.bizplace.id) {
95
- newRecord.bizplace = await tx.getRepository(Bizplace).findOne(newRecord.bizplace.id)
96
+ newRecord.bizplace = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.bizplace.id })) as any
96
97
  }
97
98
 
98
99
  let foundTote = await tx
99
100
  .getRepository(Tote)
100
- .findOne({ where: { domain, name: newRecord.name, bizplace: newRecord.bizplace } })
101
+ .findOne({ where: { domain: { id: domain.id }, name: newRecord.name, bizplace: newRecord.bizplace } })
101
102
 
102
103
  if (foundTote) {
103
104
  throw new Error('Duplicated tote found')
@@ -118,8 +119,8 @@ export class ToteMutation {
118
119
 
119
120
  @Directive('@transaction')
120
121
  @Mutation(returns => Boolean)
121
- async deleteTote(@Arg('name') id: string, @Ctx() context: any): Promise<Boolean> {
122
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
122
+ async deleteTote(@Arg('name') id: string, @Ctx() context: ResolverContext): Promise<Boolean> {
123
+ const { domain, user, tx } = context.state
123
124
 
124
125
  const foundTote = await tx.getRepository(Tote).find({ where: { id } })
125
126
 
@@ -133,8 +134,8 @@ export class ToteMutation {
133
134
 
134
135
  @Directive('@transaction')
135
136
  @Mutation(returns => Boolean)
136
- async deleteTotes(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<Boolean> {
137
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
137
+ async deleteTotes(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<Boolean> {
138
+ const { domain, user, tx } = context.state
138
139
 
139
140
  const totes = await tx.getRepository(Tote).find({
140
141
  where: {
@@ -158,8 +159,8 @@ export class ToteMutation {
158
159
 
159
160
  @Directive('@transaction')
160
161
  @Mutation(returns => Boolean)
161
- async undeleteTotes(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<Boolean> {
162
- const { tx, user }: { tx: EntityManager; user: User } = context.state
162
+ async undeleteTotes(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<Boolean> {
163
+ const { tx, user } = context.state
163
164
  const toteRepo = tx.getRepository(Tote)
164
165
 
165
166
  await toteRepo.update(
@@ -180,9 +181,9 @@ export class ToteMutation {
180
181
  async bulkUpdateToteStatus(
181
182
  @Arg('ids', type => [String]) ids: string[],
182
183
  @Arg('status', type => String) status: string,
183
- @Ctx() context: any
184
+ @Ctx() context: ResolverContext
184
185
  ): Promise<Boolean> {
185
- const { tx, user }: { tx: EntityManager; user: User } = context.state
186
+ const { tx, user } = context.state
186
187
  const toteRepo = tx.getRepository(Tote)
187
188
 
188
189
  await toteRepo.update(
@@ -1,9 +1,9 @@
1
1
  import { Arg, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
- import { getRepository, IsNull } from 'typeorm'
2
+ import { IsNull } from 'typeorm'
3
3
 
4
4
  import { User } from '@things-factory/auth-base'
5
5
  import { Bizplace } from '@things-factory/biz-base'
6
- import { buildQuery, Domain, Filter, Pagination, Sorting } from '@things-factory/shell'
6
+ import { buildQuery, Domain, Filter, getRepository, Pagination, Sorting } from '@things-factory/shell'
7
7
 
8
8
  import { Tote } from './tote'
9
9
  import { ToteList } from './tote-types'
@@ -12,12 +12,12 @@ import { ToteList } from './tote-types'
12
12
  export class ToteQuery {
13
13
  @Query(returns => ToteList)
14
14
  async totes(
15
- @Ctx() context: any,
15
+ @Ctx() context: ResolverContext,
16
16
  @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],
17
17
  @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,
18
18
  @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[]
19
19
  ): Promise<ToteList> {
20
- const { domain }: { domain: Domain } = context.state
20
+ const { domain } = context.state
21
21
 
22
22
  const deletedFilter: any = filters.find((filter: any) => filter.name === 'deleted' && filter.value === true)
23
23
 
@@ -43,12 +43,16 @@ export class ToteQuery {
43
43
  }
44
44
 
45
45
  @Query(returns => Tote)
46
- async tote(@Arg('name') name: string, @Arg('bizplace') bizplace: string, @Ctx() context: any): Promise<Tote> {
47
- const { domain }: { domain: Domain } = context.state
46
+ async tote(
47
+ @Arg('name') name: string,
48
+ @Arg('bizplace') bizplace: string,
49
+ @Ctx() context: ResolverContext
50
+ ): Promise<Tote> {
51
+ const { domain } = context.state
48
52
  let foundBizplace = await getRepository(Bizplace).findOne({ where: { name: bizplace } })
49
53
 
50
54
  let foundTote = await getRepository(Tote).findOne({
51
- where: { domain, bizplace: foundBizplace, name, deletedAt: IsNull() },
55
+ where: { domain: { id: domain.id }, bizplace: foundBizplace, name, deletedAt: IsNull() },
52
56
  relations: ['domain', 'bizplace', 'creator', 'updater']
53
57
  })
54
58
 
@@ -63,13 +67,13 @@ export class ToteQuery {
63
67
  async checkToteStatus(
64
68
  @Arg('name') name: string,
65
69
  @Arg('bizplace') bizplace: string,
66
- @Ctx() context: any
70
+ @Ctx() context: ResolverContext
67
71
  ): Promise<String> {
68
- const { domain }: { domain: Domain } = context.state
72
+ const { domain } = context.state
69
73
  let foundBizplace = await getRepository(Bizplace).findOne({ where: { name: bizplace } })
70
74
 
71
75
  let foundTote = await getRepository(Tote).findOne({
72
- where: { domain, bizplace: foundBizplace, name, deletedAt: IsNull() },
76
+ where: { domain: { id: domain.id }, bizplace: foundBizplace, name, deletedAt: IsNull() },
73
77
  relations: ['domain', 'bizplace', 'creator', 'updater']
74
78
  })
75
79
 
@@ -82,21 +86,21 @@ export class ToteQuery {
82
86
 
83
87
  @FieldResolver()
84
88
  async domain(@Root() tote: Tote) {
85
- return await getRepository(Domain).findOne(tote.domainId)
89
+ return await getRepository(Domain).findOneBy({ id: tote.domainId })
86
90
  }
87
91
 
88
92
  @FieldResolver()
89
93
  async bizplace(@Root() tote: Tote) {
90
- return await getRepository(Bizplace).findOne(tote.bizplaceId)
94
+ return await getRepository(Bizplace).findOneBy({ id: tote.bizplaceId })
91
95
  }
92
96
 
93
97
  @FieldResolver()
94
98
  async updater(@Root() tote: Tote) {
95
- return await getRepository(User).findOne(tote.updaterId)
99
+ return await getRepository(User).findOneBy({ id: tote.updaterId })
96
100
  }
97
101
 
98
102
  @FieldResolver()
99
103
  async creator(@Root() tote: Tote) {
100
- return await getRepository(User).findOne(tote.creatorId)
104
+ return await getRepository(User).findOneBy({ id: tote.creatorId })
101
105
  }
102
106
  }
@@ -1,8 +1,5 @@
1
1
  import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
2
- import { EntityManager, Repository } from 'typeorm'
3
-
4
- import { User } from '@things-factory/auth-base'
5
- import { Domain } from '@things-factory/shell'
2
+ import { Repository } from 'typeorm'
6
3
 
7
4
  import { Warehouse } from './warehouse'
8
5
  import { NewWarehouse, WarehousePatch } from './warehouse-types'
@@ -12,7 +9,10 @@ export class WarehouseMutation {
12
9
  @Directive('@privilege(category: "warehouse", privilege: "mutation")')
13
10
  @Directive('@transaction')
14
11
  @Mutation(returns => Warehouse)
15
- async createWarehouse(@Arg('warehouse') warehouse: NewWarehouse, @Ctx() context: any): Promise<Warehouse> {
12
+ async createWarehouse(
13
+ @Arg('warehouse') warehouse: NewWarehouse,
14
+ @Ctx() context: ResolverContext
15
+ ): Promise<Warehouse> {
16
16
  return await createWarehouse(warehouse, context)
17
17
  }
18
18
 
@@ -22,7 +22,7 @@ export class WarehouseMutation {
22
22
  async updateWarehouse(
23
23
  @Arg('id') id: string,
24
24
  @Arg('patch') patch: WarehousePatch,
25
- @Ctx() context: any
25
+ @Ctx() context: ResolverContext
26
26
  ): Promise<Warehouse> {
27
27
  return await updateWarehouse(id, patch, context)
28
28
  }
@@ -32,7 +32,7 @@ export class WarehouseMutation {
32
32
  @Mutation(returns => [Warehouse])
33
33
  async updateMultipleWarehouse(
34
34
  @Arg('patches', type => [WarehousePatch]) patches: WarehousePatch[],
35
- @Ctx() context: any
35
+ @Ctx() context: ResolverContext
36
36
  ): Promise<Warehouse[]> {
37
37
  let results = []
38
38
  const _createRecords = patches.filter((patch: any) => patch.cuFlag === '+')
@@ -60,20 +60,23 @@ export class WarehouseMutation {
60
60
  @Directive('@privilege(category: "warehouse", privilege: "mutation")')
61
61
  @Directive('@transaction')
62
62
  @Mutation(returns => Boolean)
63
- async deleteWarehouse(@Arg('id') id: string, @Ctx() context: any): Promise<Boolean> {
63
+ async deleteWarehouse(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Boolean> {
64
64
  return await deleteWarehouse(id, context)
65
65
  }
66
66
 
67
67
  @Directive('@privilege(category: "warehouse", privilege: "mutation")')
68
68
  @Directive('@transaction')
69
69
  @Mutation(returns => Boolean)
70
- async deleteWarehouses(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<Boolean> {
70
+ async deleteWarehouses(
71
+ @Arg('ids', type => [String]) ids: string[],
72
+ @Ctx() context: ResolverContext
73
+ ): Promise<Boolean> {
71
74
  return await deleteWarehouses(ids, context)
72
75
  }
73
76
  }
74
77
 
75
- export async function createWarehouse(warehouse: NewWarehouse, context: any) {
76
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
78
+ export async function createWarehouse(warehouse: NewWarehouse, context: ResolverContext) {
79
+ const { domain, user, tx } = context.state
77
80
 
78
81
  const repository: Repository<Warehouse> = tx.getRepository(Warehouse)
79
82
  return await repository.save({
@@ -84,11 +87,11 @@ export async function createWarehouse(warehouse: NewWarehouse, context: any) {
84
87
  })
85
88
  }
86
89
 
87
- export async function updateWarehouse(id: string, patch: WarehousePatch, context: any) {
88
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
90
+ export async function updateWarehouse(id: string, patch: WarehousePatch, context: ResolverContext) {
91
+ const { domain, user, tx } = context.state
89
92
 
90
93
  const repository: Repository<Warehouse> = tx.getRepository(Warehouse)
91
- const warehouse = await repository.findOne(id)
94
+ const warehouse = await repository.findOneBy({ id })
92
95
 
93
96
  return await repository.save({
94
97
  ...warehouse,
@@ -97,16 +100,16 @@ export async function updateWarehouse(id: string, patch: WarehousePatch, context
97
100
  })
98
101
  }
99
102
 
100
- export async function deleteWarehouse(id: string, context) {
101
- const { tx }: { tx: EntityManager } = context.state
103
+ export async function deleteWarehouse(id: string, context: ResolverContext) {
104
+ const { tx } = context.state
102
105
 
103
106
  const repository: Repository<Warehouse> = tx.getRepository(Warehouse)
104
107
  await repository.delete(id)
105
108
  return true
106
109
  }
107
110
 
108
- export async function deleteWarehouses(ids: string[], context: any) {
109
- const { tx }: { tx: EntityManager } = context.state
111
+ export async function deleteWarehouses(ids: string[], context: ResolverContext) {
112
+ const { tx } = context.state
110
113
 
111
114
  const repository: Repository<Warehouse> = tx.getRepository(Warehouse)
112
115
  await repository.delete(ids)
@@ -1,8 +1,7 @@
1
1
  import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
- import { getRepository } from 'typeorm'
3
2
 
4
3
  import { User } from '@things-factory/auth-base'
5
- import { convertListParams, Domain, ListParam } from '@things-factory/shell'
4
+ import { convertListParams, Domain, getRepository, ListParam } from '@things-factory/shell'
6
5
 
7
6
  import { Warehouse } from './warehouse'
8
7
  import { WarehouseList } from './warehouse-types'
@@ -10,21 +9,22 @@ import { WarehouseList } from './warehouse-types'
10
9
  @Resolver(Warehouse)
11
10
  export class WarehouseQuery {
12
11
  @Query(returns => Warehouse)
13
- async warehouse(@Arg('id') id: string, @Ctx() context: any): Promise<Warehouse> {
14
- const { domain }: { domain: Domain } = context.state
12
+ async warehouse(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Warehouse> {
13
+ const { domain } = context.state
15
14
 
16
15
  return await getRepository(Warehouse).findOne({
17
16
  where: {
18
- domain: domain,
19
- name
17
+ domain: { id: domain.id },
18
+ id
19
+ /* name */
20
20
  },
21
21
  relations: ['domain', 'locations', 'creator', 'updater']
22
22
  })
23
23
  }
24
24
 
25
25
  @Query(returns => WarehouseList)
26
- async warehouses(@Args() params: ListParam, @Ctx() context: any): Promise<WarehouseList> {
27
- const { domain }: { domain: Domain } = context.state
26
+ async warehouses(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<WarehouseList> {
27
+ const { domain } = context.state
28
28
 
29
29
  const convertedParams = convertListParams(params, {
30
30
  domain: domain.id,
@@ -39,16 +39,16 @@ export class WarehouseQuery {
39
39
 
40
40
  @FieldResolver(type => Domain)
41
41
  async domain(@Root() warehouse: Warehouse) {
42
- return await getRepository(Domain).findOne(warehouse.domainId)
42
+ return await getRepository(Domain).findOneBy({ id: warehouse.domainId })
43
43
  }
44
44
 
45
45
  @FieldResolver(type => User)
46
46
  async updater(@Root() warehouse: Warehouse) {
47
- return await getRepository(User).findOne(warehouse.updaterId)
47
+ return await getRepository(User).findOneBy({ id: warehouse.updaterId })
48
48
  }
49
49
 
50
50
  @FieldResolver(type => User)
51
51
  async creator(@Root() warehouse: Warehouse) {
52
- return await getRepository(User).findOne(warehouse.creatorId)
52
+ return await getRepository(User).findOneBy({ id: warehouse.creatorId })
53
53
  }
54
54
  }
@@ -83,13 +83,13 @@ export class Warehouse {
83
83
 
84
84
  constructor(obj?) {
85
85
  if (obj) {
86
- this.id = obj.Warehouse_id
87
- this.name = obj.Warehouse_name
88
- this.locations = obj.Warehouse_locations
89
- this.type = obj.Warehouse_type
90
- this.description = obj.Warehouse_description
91
- this.createdAt = obj.Warehouse_created_at
92
- this.updatedAt = obj.Warehouse_updated_at
86
+ this.id = obj.warehouse_id
87
+ this.name = obj.warehouse_name
88
+ this.locations = obj.warehouse_locations
89
+ this.type = obj.warehouse_type
90
+ this.description = obj.warehouse_description
91
+ this.createdAt = obj.warehouse_created_at
92
+ this.updatedAt = obj.warehouse_updated_at
93
93
  }
94
94
  }
95
95
  }
@@ -1,9 +1,9 @@
1
- import { EntityManager, getRepository, Repository } from 'typeorm'
1
+ import { EntityManager, Repository } from 'typeorm'
2
2
 
3
3
  import { User } from '@things-factory/auth-base'
4
4
  import { Bizplace } from '@things-factory/biz-base'
5
5
  import { Product } from '@things-factory/product-base'
6
- import { Domain } from '@things-factory/shell'
6
+ import { Domain, getRepository } from '@things-factory/shell'
7
7
 
8
8
  import { INVENTORY_STATUS, INVENTORY_TRANSACTION_TYPE, LOCATION_STATUS, LOCATION_TYPE } from '../constants'
9
9
  import { Inventory, InventoryHistory, Location } from '../service'
@@ -229,10 +229,10 @@ export async function switchLocationStatus(
229
229
  ): Promise<Location> {
230
230
  const invRepo: Repository<Inventory> = trxMgr?.getRepository(Inventory) || getRepository(Inventory)
231
231
  const locationRepo: Repository<Location> = trxMgr?.getRepository(Location) || getRepository(Location)
232
- const allocatedItemsCnt: number = await invRepo.count({
233
- domain,
232
+ const allocatedItemsCnt: number = await invRepo.countBy({
233
+ domain: { id: domain.id },
234
234
  status: INVENTORY_STATUS.STORED,
235
- location
235
+ location: { id: location.id }
236
236
  })
237
237
 
238
238
  if (!allocatedItemsCnt && location.status !== LOCATION_STATUS.EMPTY) {
@@ -259,9 +259,9 @@ export async function checkPalletDuplication(
259
259
  trxMgr?: EntityManager
260
260
  ): Promise<boolean> {
261
261
  const invRepo: Repository<Inventory> = trxMgr?.getRepository(Inventory) || getRepository(Inventory)
262
- const duplicatedPalletCnt: number = await invRepo.count({
263
- domain,
264
- bizplace,
262
+ const duplicatedPalletCnt: number = await invRepo.countBy({
263
+ domain: { id: domain.id },
264
+ bizplace: { id: bizplace.id },
265
265
  palletId
266
266
  })
267
267
 
@@ -291,13 +291,13 @@ export async function checkPalletIdenticallity(
291
291
  const invRepo: Repository<Inventory> = trxMgr?.getRepository(Inventory) || getRepository(Inventory)
292
292
 
293
293
  if (typeof product === 'string') {
294
- const foundProduct: Product = await productRepo.findOne(product)
294
+ const foundProduct: Product = await productRepo.findOneBy({ id: product }) /* TODO check migration typeorm 0.3 */
295
295
  if (!foundProduct) throw new Error(`Failed to find product with ${product}`)
296
296
  product = foundProduct
297
297
  }
298
298
 
299
299
  const inv: Inventory = await invRepo.findOne({
300
- where: { domain, bizplace, palletId },
300
+ where: { domain: { id: domain.id }, bizplace, palletId },
301
301
  relations: ['product']
302
302
  })
303
303