@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,9 +1,8 @@
1
1
  import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
- import { getRepository } from 'typeorm'
3
2
 
4
3
  import { User } from '@things-factory/auth-base'
5
4
  import { getPermittedBizplaceIds } from '@things-factory/biz-base'
6
- import { buildQuery, Domain, ListParam } from '@things-factory/shell'
5
+ import { buildQuery, Domain, getRepository, ListParam } from '@things-factory/shell'
7
6
 
8
7
  import { INVENTORY_STATUS } from '../../constants/inventory'
9
8
  import { Warehouse } from '../warehouse/warehouse'
@@ -14,7 +13,7 @@ import { LocationInventories, LocationList, LocationOccupancy } from './location
14
13
  export class LocationQuery {
15
14
  @Directive('@privilege(category: "warehouse", privilege: "query")')
16
15
  @Query(returns => LocationList)
17
- async locations(@Args() params: ListParam, @Ctx() context: any): Promise<LocationList> {
16
+ async locations(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<LocationList> {
18
17
  const queryBuilder = getRepository(Location).createQueryBuilder()
19
18
  buildQuery(queryBuilder, params, context)
20
19
  const [items, total] = await queryBuilder.getManyAndCount()
@@ -30,8 +29,8 @@ export class LocationQuery {
30
29
  * */
31
30
  @Directive('@privilege(category: "warehouse", privilege: "query")')
32
31
  @Query(returns => LocationList)
33
- async pureLocations(@Args() params: ListParam, @Ctx() context: any): Promise<LocationList> {
34
- const queryBuilder = getRepository(Location).createQueryBuilder()
32
+ async pureLocations(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<LocationList> {
33
+ const queryBuilder = getRepository(Location).createQueryBuilder('location')
35
34
  buildQuery(queryBuilder, params, context)
36
35
  const items = await queryBuilder.getRawMany()
37
36
  const total = await queryBuilder.getCount()
@@ -44,13 +43,13 @@ export class LocationQuery {
44
43
  async locationOccupancies(
45
44
  @Arg('warehouse') warehouse: string,
46
45
  @Arg('types', type => [String], { nullable: true }) types: string[],
47
- @Ctx() context: any
46
+ @Ctx() context: ResolverContext
48
47
  ): Promise<LocationOccupancy> {
49
- const { domain }: { domain: Domain } = context.state
48
+ const { domain } = context.state
50
49
 
51
50
  const foundWarehouse: Warehouse = await getRepository(Warehouse).findOne({
52
51
  where: {
53
- domain,
52
+ domain: { id: domain.id },
54
53
  name: warehouse
55
54
  },
56
55
  relations: ['locations']
@@ -73,7 +72,7 @@ export class LocationQuery {
73
72
 
74
73
  @Directive('@privilege(category: "warehouse", privilege: "query")')
75
74
  @Query(returns => Location)
76
- async location(@Arg('name') name: string, @Ctx() context: any): Promise<Location> {
75
+ async location(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Location> {
77
76
  const foundLocation: Location | null = await getRepository(Location).findOne({
78
77
  where: { name },
79
78
  relations: ['domain', 'warehouse', 'creator', 'updater']
@@ -85,8 +84,8 @@ export class LocationQuery {
85
84
 
86
85
  @Directive('@privilege(category: "warehouse", privilege: "query")')
87
86
  @Query(returns => Location)
88
- async locationByName(@Arg('name') name: string, @Ctx() context: any): Promise<Location> {
89
- const { domain }: { domain: Domain } = context.state
87
+ async locationByName(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Location> {
88
+ const { domain } = context.state
90
89
 
91
90
  return await getRepository(Location).findOne({
92
91
  where: {
@@ -99,8 +98,8 @@ export class LocationQuery {
99
98
 
100
99
  @Directive('@privilege(category: "warehouse", privilege: "query")')
101
100
  @Query(returns => LocationList)
102
- async locationsByGroup(@Args() params: ListParam, @Ctx() context: any): Promise<LocationList> {
103
- const { domain }: { domain: Domain } = context.state
101
+ async locationsByGroup(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<LocationList> {
102
+ const { domain } = context.state
104
103
  const warehouseIdParam = params.filters.find(param => (param.name = 'warehouse_id'))
105
104
 
106
105
  if (!warehouseIdParam.value) throw new Error(`invalid warehouse ID`)
@@ -125,16 +124,21 @@ export class LocationQuery {
125
124
 
126
125
  @Directive('@privilege(category: "warehouse", privilege: "query")')
127
126
  @Query(returns => LocationInventories)
128
- async locationWithInventories(@Args() params: ListParam, @Ctx() context: any): Promise<LocationInventories> {
129
- const { domain, user }: { domain: Domain; user: User } = context.state
127
+ async locationWithInventories(
128
+ @Args() params: ListParam,
129
+ @Ctx() context: ResolverContext
130
+ ): Promise<LocationInventories> {
131
+ const { domain, user } = context.state
130
132
  const bizplaceIds = await getPermittedBizplaceIds(domain, user)
131
133
  const queryBuilder = getRepository(Location).createQueryBuilder()
132
134
 
133
- const warehouseNames = params.filters.find(x => x.name === 'warehouseNames' && x.operator.toLowerCase() === 'in')
134
- ?.value
135
+ const warehouseNames = params.filters.find(
136
+ x => x.name === 'warehouseNames' && x.operator.toLowerCase() === 'in'
137
+ )?.value
135
138
 
136
- const locationTypes = params.filters.find(x => x.name === 'locationTypes' && x.operator.toLowerCase() === 'in')
137
- ?.value
139
+ const locationTypes = params.filters.find(
140
+ x => x.name === 'locationTypes' && x.operator.toLowerCase() === 'in'
141
+ )?.value
138
142
 
139
143
  params.filters = []
140
144
  buildQuery(queryBuilder, params, context)
@@ -209,21 +213,21 @@ export class LocationQuery {
209
213
 
210
214
  @FieldResolver(type => Domain)
211
215
  async domain(@Root() location: Location) {
212
- return await getRepository(Domain).findOne(location.domain?.id)
216
+ return await getRepository(Domain).findOneBy({ id: location.domain?.id })
213
217
  }
214
218
 
215
219
  @FieldResolver(type => User)
216
220
  async updater(@Root() location: Location) {
217
- return await getRepository(User).findOne(location.updaterId)
221
+ return await getRepository(User).findOneBy({ id: location.updaterId })
218
222
  }
219
223
 
220
224
  @FieldResolver(type => User)
221
225
  async creator(@Root() location: Location) {
222
- return await getRepository(User).findOne(location.creatorId)
226
+ return await getRepository(User).findOneBy({ id: location.creatorId })
223
227
  }
224
228
 
225
229
  @FieldResolver(type => Warehouse)
226
230
  async warehouse(@Root() location: Location): Promise<Warehouse> {
227
- return await getRepository(Warehouse).findOne(location.warehouse?.id)
231
+ return await getRepository(Warehouse).findOneBy({ id: location.warehouse?.id })
228
232
  }
229
233
  }
@@ -19,6 +19,7 @@ import { Warehouse } from '../warehouse/warehouse'
19
19
  @Index('ix_location_0', (location: Location) => [location.domain, location.name], { unique: true })
20
20
  @Index('ix_location_1', (location: Location) => [location.id], { unique: true })
21
21
  @Index('ix_location_2', (location: Location) => [location.domain])
22
+ @Index('ix_location_3', (location: Location) => [location.domain, location.name, location.type])
22
23
  @ObjectType()
23
24
  export class Location {
24
25
  @PrimaryGeneratedColumn('uuid')
@@ -105,16 +106,16 @@ export class Location {
105
106
 
106
107
  constructor(obj?) {
107
108
  if (obj) {
108
- this.id = obj.Location_id
109
- this.name = obj.Location_name
110
- this.description = obj.Location_description
111
- this.type = obj.Location_type
112
- this.zone = obj.Location_zone
113
- this.row = obj.Location_row
114
- this.column = obj.Location_column
115
- this.shelf = obj.Location_shelf
116
- this.status = obj.Location_status
117
- this.updatedAt = obj.Location_updated_at
109
+ this.id = obj.location_id
110
+ this.name = obj.location_name
111
+ this.description = obj.location_description
112
+ this.type = obj.location_type
113
+ this.zone = obj.location_zone
114
+ this.row = obj.location_row
115
+ this.column = obj.location_column
116
+ this.shelf = obj.location_shelf
117
+ this.status = obj.location_status
118
+ this.updatedAt = obj.location_updated_at
118
119
  }
119
120
  }
120
121
  }
@@ -1,9 +1,8 @@
1
1
  import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
2
- import { getRepository, In } from 'typeorm'
2
+ import { In } from 'typeorm'
3
3
 
4
- import { User } from '@things-factory/auth-base'
5
4
  import { getPermittedBizplaceIds } from '@things-factory/biz-base'
6
- import { Domain } from '@things-factory/shell'
5
+ import { getRepository } from '@things-factory/shell'
7
6
 
8
7
  import { Inventory } from '../inventory/inventory'
9
8
  import { Movement } from './movement'
@@ -14,8 +13,8 @@ export class MovementMutation {
14
13
  @Directive('@privilege(category: "movement", privilege: "mutation")')
15
14
  @Directive('@transaction')
16
15
  @Mutation(returns => Movement)
17
- async createMovement(@Arg('movement') movement: NewMovement, @Ctx() context: any): Promise<Movement> {
18
- const { domain, user }: { domain: Domain; user: User } = context.state
16
+ async createMovement(@Arg('movement') movement: NewMovement, @Ctx() context: ResolverContext): Promise<Movement> {
17
+ const { domain, user } = context.state
19
18
  return await getRepository(Movement).save({
20
19
  ...movement,
21
20
  domain,
@@ -30,7 +29,7 @@ export class MovementMutation {
30
29
  async updateMovement(
31
30
  @Arg('id') id: string,
32
31
  @Arg('patch') patch: MovementPatch,
33
- @Ctx() context: any
32
+ @Ctx() context: ResolverContext
34
33
  ): Promise<Movement> {
35
34
  const movement = await getRepository(Movement).findOne({
36
35
  where: {
@@ -41,7 +40,7 @@ export class MovementMutation {
41
40
  })
42
41
 
43
42
  if (patch.inventory && patch.inventory.id) {
44
- patch.inventory = await getRepository(Inventory).findOne(patch.inventory.id)
43
+ patch.inventory = await getRepository(Inventory).findOneBy({ id: patch.inventory.id })
45
44
  }
46
45
 
47
46
  return await getRepository(Movement).save({
@@ -54,7 +53,7 @@ export class MovementMutation {
54
53
  @Directive('@privilege(category: "movement", privilege: "mutation")')
55
54
  @Directive('@transaction')
56
55
  @Mutation(returns => Boolean)
57
- async deleteMovement(@Arg('name') name: string, @Ctx() context: any): Promise<Boolean> {
56
+ async deleteMovement(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {
58
57
  await getRepository(Movement).delete(name)
59
58
  return true
60
59
  }
@@ -1,9 +1,9 @@
1
1
  import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
- import { getRepository, In } from 'typeorm'
2
+ import { In } from 'typeorm'
3
3
 
4
4
  import { User } from '@things-factory/auth-base'
5
5
  import { getPermittedBizplaceIds } from '@things-factory/biz-base'
6
- import { convertListParams, Domain, ListParam } from '@things-factory/shell'
6
+ import { convertListParams, Domain, getRepository, ListParam } from '@things-factory/shell'
7
7
 
8
8
  import { InventoryHistory } from '../inventory-history/inventory-history'
9
9
  import { Movement } from './movement'
@@ -13,7 +13,7 @@ import { MovementCount, MovementList } from './movement-types'
13
13
  export class MovementQuery {
14
14
  @Directive('@privilege(category: "movement", privilege: "query")')
15
15
  @Query(returns => MovementList)
16
- async movements(@Args() params: ListParam, @Ctx() context: any): Promise<MovementList> {
16
+ async movements(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<MovementList> {
17
17
  const convertedParams = convertListParams(params)
18
18
  convertedParams.where.bizplace = In(await getPermittedBizplaceIds(context.state.domain, context.state.user))
19
19
 
@@ -26,20 +26,22 @@ export class MovementQuery {
26
26
 
27
27
  @Directive('@privilege(category: "movement", privilege: "query")')
28
28
  @Query(returns => Movement)
29
- async movement(@Arg('name') name: string, @Ctx() context: any): Promise<Movement> {
29
+ async movement(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Movement> {
30
+ const { domain, user } = context.state
31
+
30
32
  return await getRepository(Movement).findOne({
31
33
  where: {
32
- domain: context.state.domain,
33
- name,
34
- bizplace: In(await getPermittedBizplaceIds(context.state.domain, context.state.user))
34
+ domain: { id: domain.id },
35
+ /* name,*/
36
+ bizplace: In(await getPermittedBizplaceIds(domain, user))
35
37
  },
36
38
  relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater']
37
39
  })
38
40
  }
39
41
 
40
42
  @Query(returns => [MovementCount])
41
- async inboundMovementsCounter(@Args() params: ListParam, @Ctx() context: any): Promise<MovementCount[]> {
42
- const { domain, user }: { domain: Domain; user: User } = context.state
43
+ async inboundMovementsCounter(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<MovementCount[]> {
44
+ const { domain, user } = context.state
43
45
 
44
46
  let bizplaces = (await getPermittedBizplaceIds(domain, user))
45
47
  .map(bizplace => {
@@ -98,8 +100,8 @@ export class MovementQuery {
98
100
  }
99
101
 
100
102
  @Query(returns => [MovementCount])
101
- async outboundMovementsCounter(@Args() params: ListParam, @Ctx() context: any): Promise<MovementCount[]> {
102
- const { domain, user }: { domain: Domain; user: User } = context.state
103
+ async outboundMovementsCounter(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<MovementCount[]> {
104
+ const { domain, user } = context.state
103
105
 
104
106
  let bizplaces = (await getPermittedBizplaceIds(domain, user))
105
107
  .map(bizplace => {
@@ -163,9 +165,9 @@ export class MovementQuery {
163
165
  async weeklyMovementsCounter(
164
166
  @Arg('month') month: number,
165
167
  @Arg('year') year: number,
166
- @Ctx() context: any
168
+ @Ctx() context: ResolverContext
167
169
  ): Promise<MovementCount[]> {
168
- const { domain, user }: { domain: Domain; user: User } = context.state
170
+ const { domain, user } = context.state
169
171
 
170
172
  let bizplaces = (await getPermittedBizplaceIds(domain, user))
171
173
  .map(bizplace => {
@@ -226,17 +228,17 @@ export class MovementQuery {
226
228
 
227
229
  @FieldResolver(type => Domain)
228
230
  async domain(@Root() movement: Movement) {
229
- return await getRepository(Domain).findOne(movement.domainId)
231
+ return await getRepository(Domain).findOneBy({ id: movement.domainId })
230
232
  }
231
233
 
232
234
  @FieldResolver(type => User)
233
235
  async updater(@Root() movement: Movement) {
234
- return await getRepository(User).findOne(movement.updaterId)
236
+ return await getRepository(User).findOneBy({ id: movement.updaterId })
235
237
  }
236
238
 
237
239
  @FieldResolver(type => User)
238
240
  async creator(@Root() movement: Movement) {
239
- return await getRepository(User).findOne(movement.creatorId)
241
+ return await getRepository(User).findOneBy({ id: movement.creatorId })
240
242
  }
241
243
  }
242
244
 
@@ -1,9 +1,7 @@
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
6
  import { PalletHistory } from '../pallet-history/pallet-history'
9
7
  import { Pallet } from './pallet'
@@ -13,8 +11,8 @@ import { NewPallet, PalletPatch } from './pallet-types'
13
11
  export class PalletMutation {
14
12
  @Directive('@transaction')
15
13
  @Mutation(returns => Pallet)
16
- async createPallet(@Arg('pallet') pallet: NewPallet, @Ctx() context: any): Promise<Pallet> {
17
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
14
+ async createPallet(@Arg('pallet') pallet: NewPallet, @Ctx() context: ResolverContext): Promise<Pallet> {
15
+ const { domain, user, tx } = context.state
18
16
 
19
17
  return await tx.getRepository(Pallet).save({
20
18
  ...pallet,
@@ -29,9 +27,9 @@ export class PalletMutation {
29
27
  async updatePallet(
30
28
  @Arg('name') name: string,
31
29
  @Arg('patch') patch: PalletPatch,
32
- @Ctx() context: any
30
+ @Ctx() context: ResolverContext
33
31
  ): Promise<Pallet> {
34
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
32
+ const { domain, user, tx } = context.state
35
33
 
36
34
  const repository = tx.getRepository(Pallet)
37
35
  const pallet = await repository.findOne({
@@ -49,9 +47,9 @@ export class PalletMutation {
49
47
  @Mutation(returns => [Pallet])
50
48
  async updateMultiplePallet(
51
49
  @Arg('patches', type => [PalletPatch]) patches: PalletPatch[],
52
- @Ctx() context: any
50
+ @Ctx() context: ResolverContext
53
51
  ): Promise<Pallet[]> {
54
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
52
+ const { domain, user, tx } = context.state
55
53
 
56
54
  let results = []
57
55
  const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
@@ -62,11 +60,11 @@ export class PalletMutation {
62
60
  const newRecord = _createRecords[i]
63
61
 
64
62
  if (newRecord.owner && newRecord.owner.id) {
65
- newRecord.owner = await tx.getRepository(Bizplace).findOne(newRecord.owner.id)
63
+ newRecord.owner = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.owner.id })) as any
66
64
  }
67
65
 
68
66
  if (newRecord.holder && newRecord.holder.id) {
69
- newRecord.holder = await tx.getRepository(Bizplace).findOne(newRecord.holder.id)
67
+ newRecord.holder = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.holder.id })) as any
70
68
  }
71
69
 
72
70
  const result: Pallet = await tx.getRepository(Pallet).save({
@@ -99,11 +97,11 @@ export class PalletMutation {
99
97
  const seq = pallet.seq + 1
100
98
 
101
99
  if (newRecord.owner && newRecord.owner.id) {
102
- newRecord.owner = await tx.getRepository(Bizplace).findOne(newRecord.owner.id)
100
+ newRecord.owner = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.owner.id })) as any
103
101
  }
104
102
 
105
103
  if (newRecord.holder && newRecord.holder.id) {
106
- newRecord.holder = await tx.getRepository(Bizplace).findOne(newRecord.holder.id)
104
+ newRecord.holder = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.holder.id })) as any
107
105
  }
108
106
 
109
107
  const result = await tx.getRepository(Pallet).save({
@@ -140,8 +138,8 @@ export class PalletMutation {
140
138
 
141
139
  @Directive('@transaction')
142
140
  @Mutation(returns => Boolean)
143
- async deletePallet(@Arg('name') name: string, @Ctx() context: any): Promise<Boolean> {
144
- const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state
141
+ async deletePallet(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {
142
+ const { domain, tx } = context.state
145
143
 
146
144
  await tx.getRepository(Pallet).delete({ domain: domain, name })
147
145
  return true
@@ -149,8 +147,8 @@ export class PalletMutation {
149
147
 
150
148
  @Directive('@transaction')
151
149
  @Mutation(returns => Boolean)
152
- async deletePallets(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<Boolean> {
153
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
150
+ async deletePallets(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<Boolean> {
151
+ const { domain, user, tx } = context.state
154
152
 
155
153
  const pallets = await tx.getRepository(Pallet).find({
156
154
  where: {
@@ -191,9 +189,9 @@ export class PalletMutation {
191
189
  @Mutation(returns => [Pallet])
192
190
  async palletReturn(
193
191
  @Arg('patches', type => [PalletPatch]) patches: PalletPatch[],
194
- @Ctx() context: any
192
+ @Ctx() context: ResolverContext
195
193
  ): Promise<Pallet[]> {
196
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
194
+ const { domain, user, tx } = context.state
197
195
 
198
196
  let results = []
199
197
  const _updateRecords = patches
@@ -207,7 +205,7 @@ export class PalletMutation {
207
205
  })
208
206
  const seq = pallet.seq + 1
209
207
 
210
- newRecord.owner = await tx.getRepository(Bizplace).findOne(newRecord.owner.id)
208
+ newRecord.owner = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.owner.id })) as any
211
209
  newRecord.holder = newRecord.owner
212
210
 
213
211
  const result = await tx.getRepository(Pallet).save({
@@ -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 { Pallet } from './pallet'
8
7
  import { PalletList, PalletValidate } from './pallet-types'
@@ -10,7 +9,7 @@ import { PalletList, PalletValidate } from './pallet-types'
10
9
  @Resolver(Pallet)
11
10
  export class PalletQuery {
12
11
  @Query(returns => PalletList)
13
- async pallets(@Args() params: ListParam, @Ctx() context: any): Promise<PalletList> {
12
+ async pallets(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<PalletList> {
14
13
  const { domain } = context.state
15
14
 
16
15
  if (!params.filters.find((filter: any) => filter.name === 'status')) {
@@ -30,8 +29,8 @@ export class PalletQuery {
30
29
  }
31
30
 
32
31
  @Query(returns => Pallet)
33
- async pallet(@Arg('name') name: string, @Ctx() context: any): Promise<Pallet> {
34
- const { domain }: { domain: Domain } = context.state
32
+ async pallet(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Pallet> {
33
+ const { domain } = context.state
35
34
 
36
35
  let records = await getRepository(Pallet).findOne({
37
36
  where: { domain: domain, name },
@@ -41,9 +40,9 @@ export class PalletQuery {
41
40
  }
42
41
 
43
42
  @Query(returns => PalletValidate)
44
- async palletInboundValidate(@Arg('name') name: string, @Ctx() context: any): Promise<PalletValidate> {
43
+ async palletInboundValidate(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<PalletValidate> {
45
44
  try {
46
- const { domain }: { domain: Domain } = context.state
45
+ const { domain } = context.state
47
46
 
48
47
  let item = await getRepository(Pallet).findOne({
49
48
  where: { domain: domain, name },
@@ -58,9 +57,9 @@ export class PalletQuery {
58
57
  }
59
58
 
60
59
  @Query(returns => PalletValidate)
61
- async palletOutboundValidate(@Arg('name') name: string, @Ctx() context: any): Promise<PalletValidate> {
60
+ async palletOutboundValidate(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<PalletValidate> {
62
61
  try {
63
- const { domain }: { domain: Domain } = context.state
62
+ const { domain } = context.state
64
63
 
65
64
  let item = await getRepository(Pallet).findOne({
66
65
  where: { domain: domain, name },
@@ -78,9 +77,9 @@ export class PalletQuery {
78
77
  async palletByStatus(
79
78
  @Arg('name') name: string,
80
79
  @Arg('status') status: string,
81
- @Ctx() context: any
80
+ @Ctx() context: ResolverContext
82
81
  ): Promise<Pallet | boolean> {
83
- const { domain }: { domain: Domain } = context.state
82
+ const { domain } = context.state
84
83
 
85
84
  let records = await getRepository(Pallet).findOne({
86
85
  where: { domain: domain, name, status },
@@ -92,16 +91,16 @@ export class PalletQuery {
92
91
 
93
92
  @FieldResolver(type => Domain)
94
93
  async domain(@Root() pallet: Pallet) {
95
- return await getRepository(Domain).findOne(pallet.domainId)
94
+ return await getRepository(Domain).findOneBy({ id: pallet.domainId })
96
95
  }
97
96
 
98
97
  @FieldResolver(type => User)
99
98
  async updater(@Root() pallet: Pallet) {
100
- return await getRepository(User).findOne(pallet.updaterId)
99
+ return await getRepository(User).findOneBy({ id: pallet.updaterId })
101
100
  }
102
101
 
103
102
  @FieldResolver(type => User)
104
103
  async creator(@Root() pallet: Pallet) {
105
- return await getRepository(User).findOne(pallet.creatorId)
104
+ return await getRepository(User).findOneBy({ id: pallet.creatorId })
106
105
  }
107
106
  }
@@ -1,10 +1,7 @@
1
1
  import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
2
- import { EntityManager, In, MoreThan } from 'typeorm'
2
+ import { In, MoreThan } from 'typeorm'
3
3
  import { v4 as uuidv4 } from 'uuid'
4
4
 
5
- import { User } from '@things-factory/auth-base'
6
- import { Domain } from '@things-factory/shell'
7
-
8
5
  import { PalletCount } from './pallet-count'
9
6
  import { NewPalletCount, PalletCountPatch } from './pallet-count-types'
10
7
 
@@ -12,8 +9,11 @@ import { NewPalletCount, PalletCountPatch } from './pallet-count-types'
12
9
  export class PalletCountMutation {
13
10
  @Directive('@transaction')
14
11
  @Mutation(returns => PalletCount)
15
- async createPalletCount(@Arg('palletCount') palletCount: NewPalletCount, @Ctx() context: any): Promise<PalletCount> {
16
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
12
+ async createPalletCount(
13
+ @Arg('palletCount') palletCount: NewPalletCount,
14
+ @Ctx() context: ResolverContext
15
+ ): Promise<PalletCount> {
16
+ const { domain, user, tx } = context.state
17
17
 
18
18
  return await tx.getRepository(PalletCount).save({
19
19
  ...palletCount,
@@ -28,9 +28,9 @@ export class PalletCountMutation {
28
28
  async updatePalletCount(
29
29
  @Arg('name') name: string,
30
30
  @Arg('patch') patch: PalletCountPatch,
31
- @Ctx() context: any
31
+ @Ctx() context: ResolverContext
32
32
  ): Promise<PalletCount> {
33
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
33
+ const { domain, user, tx } = context.state
34
34
 
35
35
  const repository = tx.getRepository(PalletCount)
36
36
  const palletCount = await repository.findOne({
@@ -48,9 +48,9 @@ export class PalletCountMutation {
48
48
  @Mutation(returns => [PalletCount])
49
49
  async updateMultiplePalletCount(
50
50
  @Arg('patches', type => [PalletCountPatch]) patches: PalletCountPatch[],
51
- @Ctx() context: any
51
+ @Ctx() context: ResolverContext
52
52
  ): Promise<PalletCount[]> {
53
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
53
+ const { domain, user, tx } = context.state
54
54
 
55
55
  let results = []
56
56
  const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
@@ -75,7 +75,7 @@ export class PalletCountMutation {
75
75
  if (_updateRecords.length > 0) {
76
76
  for (let i = 0; i < _updateRecords.length; i++) {
77
77
  const newRecord = _updateRecords[i]
78
- const palletCount = await palletCountRepo.findOne(newRecord.id)
78
+ const palletCount = await palletCountRepo.findOneBy({ id: newRecord.id })
79
79
 
80
80
  const result = await palletCountRepo.save({
81
81
  ...palletCount,
@@ -92,8 +92,8 @@ export class PalletCountMutation {
92
92
 
93
93
  @Directive('@transaction')
94
94
  @Mutation(returns => Boolean)
95
- async deletePalletCount(@Arg('name') name: string, @Ctx() context: any): Promise<Boolean> {
96
- const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state
95
+ async deletePalletCount(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {
96
+ const { domain, tx } = context.state
97
97
 
98
98
  await tx.getRepository(PalletCount).delete({ domain: domain, name })
99
99
  return true
@@ -101,8 +101,11 @@ export class PalletCountMutation {
101
101
 
102
102
  @Directive('@transaction')
103
103
  @Mutation(returns => Boolean)
104
- async deletePalletCounts(@Arg('names', type => [String]) names: string[], @Ctx() context: any): Promise<Boolean> {
105
- const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state
104
+ async deletePalletCounts(
105
+ @Arg('names', type => [String]) names: string[],
106
+ @Ctx() context: ResolverContext
107
+ ): Promise<Boolean> {
108
+ const { domain, tx } = context.state
106
109
 
107
110
  await tx.getRepository(PalletCount).delete({
108
111
  domain: domain,
@@ -113,8 +116,8 @@ export class PalletCountMutation {
113
116
 
114
117
  @Directive('@transaction')
115
118
  @Mutation(returns => PalletCount)
116
- async updatePalletCountSeq(@Arg('printQty') printQty: number, @Ctx() context: any): Promise<PalletCount> {
117
- const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state
119
+ async updatePalletCountSeq(@Arg('printQty') printQty: number, @Ctx() context: ResolverContext): Promise<PalletCount> {
120
+ const { domain, user, tx } = context.state
118
121
 
119
122
  const repository = tx.getRepository(PalletCount)
120
123
  const todayDate = new Date()
@@ -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 { PalletCount } from './pallet-count'
8
7
  import { PalletCountList } from './pallet-count-types'
@@ -20,8 +19,8 @@ export class PalletCountQuery {
20
19
  }
21
20
 
22
21
  @Query(returns => PalletCount)
23
- async palletCount(@Arg('name') name: string, @Ctx() context: any): Promise<PalletCount> {
24
- const { domain }: { domain: Domain } = context.state
22
+ async palletCount(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<PalletCount> {
23
+ const { domain } = context.state
25
24
 
26
25
  return await getRepository(PalletCount).findOne({
27
26
  where: { domain: domain, name },
@@ -31,16 +30,16 @@ export class PalletCountQuery {
31
30
 
32
31
  @FieldResolver(type => Domain)
33
32
  async domain(@Root() palletCount: PalletCount) {
34
- return await getRepository(Domain).findOne(palletCount.domainId)
33
+ return await getRepository(Domain).findOneBy({ id: palletCount.domainId })
35
34
  }
36
35
 
37
36
  @FieldResolver(type => User)
38
37
  async updater(@Root() palletCount: PalletCount) {
39
- return await getRepository(User).findOne(palletCount.updaterId)
38
+ return await getRepository(User).findOneBy({ id: palletCount.updaterId })
40
39
  }
41
40
 
42
41
  @FieldResolver(type => User)
43
42
  async creator(@Root() palletCount: PalletCount) {
44
- return await getRepository(User).findOne(palletCount.creatorId)
43
+ return await getRepository(User).findOneBy({ id: palletCount.creatorId })
45
44
  }
46
45
  }