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

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,5 +1,4 @@
1
1
  "use strict";
2
- var _a, _b, _c;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.MovementQuery = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -15,15 +14,16 @@ let MovementQuery = class MovementQuery {
15
14
  async movements(params, context) {
16
15
  const convertedParams = (0, shell_1.convertListParams)(params);
17
16
  convertedParams.where.bizplace = (0, typeorm_1.In)(await (0, biz_base_1.getPermittedBizplaceIds)(context.state.domain, context.state.user));
18
- const [items, total] = await (0, typeorm_1.getRepository)(movement_1.Movement).findAndCount(Object.assign(Object.assign({}, convertedParams), { relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater'] }));
17
+ const [items, total] = await (0, shell_1.getRepository)(movement_1.Movement).findAndCount(Object.assign(Object.assign({}, convertedParams), { relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater'] }));
19
18
  return { items, total };
20
19
  }
21
20
  async movement(name, context) {
22
- return await (0, typeorm_1.getRepository)(movement_1.Movement).findOne({
21
+ const { domain, user } = context.state;
22
+ return await (0, shell_1.getRepository)(movement_1.Movement).findOne({
23
23
  where: {
24
- domain: context.state.domain,
25
- name,
26
- bizplace: (0, typeorm_1.In)(await (0, biz_base_1.getPermittedBizplaceIds)(context.state.domain, context.state.user))
24
+ domain: { id: domain.id },
25
+ /* name,*/
26
+ bizplace: (0, typeorm_1.In)(await (0, biz_base_1.getPermittedBizplaceIds)(domain, user))
27
27
  },
28
28
  relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater']
29
29
  });
@@ -42,7 +42,7 @@ let MovementQuery = class MovementQuery {
42
42
  startDate.setMinutes(0);
43
43
  startDate.setSeconds(0);
44
44
  const timeNow = `${endDate.getHours()}:${endDate.getMinutes()}:${endDate.getSeconds()}`;
45
- const counter = await (0, typeorm_1.getRepository)(inventory_history_1.InventoryHistory).query(`
45
+ const counter = await (0, shell_1.getRepository)(inventory_history_1.InventoryHistory).query(`
46
46
  select inbound_date, count(*) from(
47
47
  select date(ih.created_at) inbound_date from inventory_histories ih
48
48
  where ih.bizplace_id in (${bizplaces})
@@ -91,7 +91,7 @@ let MovementQuery = class MovementQuery {
91
91
  startDate.setMinutes(0);
92
92
  startDate.setSeconds(0);
93
93
  const timeNow = `${endDate.getHours()}:${endDate.getMinutes()}:${endDate.getSeconds()}`;
94
- const counter = await (0, typeorm_1.getRepository)(inventory_history_1.InventoryHistory).query(`
94
+ const counter = await (0, shell_1.getRepository)(inventory_history_1.InventoryHistory).query(`
95
95
  select outbound_date, count(*) from(
96
96
  select date(ih.created_at) outbound_date, row_number() over(partition by ih.pallet_id order by ih.created_at desc) as rn, ih.*, iv.bizplace_id
97
97
  from inventory_histories ih
@@ -148,7 +148,7 @@ let MovementQuery = class MovementQuery {
148
148
  var lastOfMonth = new Date(year, month, 0);
149
149
  }
150
150
  // get data from database
151
- const data = await (0, typeorm_1.getRepository)(inventory_history_1.InventoryHistory).query(`
151
+ const data = await (0, shell_1.getRepository)(inventory_history_1.InventoryHistory).query(`
152
152
  select movement_date, sum(outbound_count) as outbound_count, sum(inbound_count) as inbound_count from (
153
153
  select movement_date, count(*) as outbound_count, 0 as inbound_count from(
154
154
  select date(ih.created_at) movement_date, row_number() over(partition by ih.pallet_id order by ih.created_at desc) as rn, ih.*, iv.bizplace_id
@@ -183,13 +183,13 @@ let MovementQuery = class MovementQuery {
183
183
  return movements;
184
184
  }
185
185
  async domain(movement) {
186
- return await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(movement.domainId);
186
+ return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: movement.domainId });
187
187
  }
188
188
  async updater(movement) {
189
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(movement.updaterId);
189
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: movement.updaterId });
190
190
  }
191
191
  async creator(movement) {
192
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(movement.creatorId);
192
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: movement.creatorId });
193
193
  }
194
194
  };
195
195
  tslib_1.__decorate([
@@ -198,7 +198,7 @@ tslib_1.__decorate([
198
198
  tslib_1.__param(0, (0, type_graphql_1.Args)()),
199
199
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
200
200
  tslib_1.__metadata("design:type", Function),
201
- tslib_1.__metadata("design:paramtypes", [typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object, Object]),
201
+ tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
202
202
  tslib_1.__metadata("design:returntype", Promise)
203
203
  ], MovementQuery.prototype, "movements", null);
204
204
  tslib_1.__decorate([
@@ -215,7 +215,7 @@ tslib_1.__decorate([
215
215
  tslib_1.__param(0, (0, type_graphql_1.Args)()),
216
216
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
217
217
  tslib_1.__metadata("design:type", Function),
218
- tslib_1.__metadata("design:paramtypes", [typeof (_b = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _b : Object, Object]),
218
+ tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
219
219
  tslib_1.__metadata("design:returntype", Promise)
220
220
  ], MovementQuery.prototype, "inboundMovementsCounter", null);
221
221
  tslib_1.__decorate([
@@ -223,7 +223,7 @@ tslib_1.__decorate([
223
223
  tslib_1.__param(0, (0, type_graphql_1.Args)()),
224
224
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
225
225
  tslib_1.__metadata("design:type", Function),
226
- tslib_1.__metadata("design:paramtypes", [typeof (_c = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _c : Object, Object]),
226
+ tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
227
227
  tslib_1.__metadata("design:returntype", Promise)
228
228
  ], MovementQuery.prototype, "outboundMovementsCounter", null);
229
229
  tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"movement-query.js","sourceRoot":"","sources":["../../../server/service/movement/movement-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { getRepository, In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { convertListParams, Domain, ListParam } from '@things-factory/shell'\n\nimport { InventoryHistory } from '../inventory-history/inventory-history'\nimport { Movement } from './movement'\nimport { MovementCount, MovementList } from './movement-types'\n\n@Resolver(Movement)\nexport class MovementQuery {\n @Directive('@privilege(category: \"movement\", privilege: \"query\")')\n @Query(returns => MovementList)\n async movements(@Args() params: ListParam, @Ctx() context: any): Promise<MovementList> {\n const convertedParams = convertListParams(params)\n convertedParams.where.bizplace = In(await getPermittedBizplaceIds(context.state.domain, context.state.user))\n\n const [items, total] = await getRepository(Movement).findAndCount({\n ...convertedParams,\n relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater']\n })\n return { items, total }\n }\n\n @Directive('@privilege(category: \"movement\", privilege: \"query\")')\n @Query(returns => Movement)\n async movement(@Arg('name') name: string, @Ctx() context: any): Promise<Movement> {\n return await getRepository(Movement).findOne({\n where: {\n domain: context.state.domain,\n name,\n bizplace: In(await getPermittedBizplaceIds(context.state.domain, context.state.user))\n },\n relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater']\n })\n }\n\n @Query(returns => [MovementCount])\n async inboundMovementsCounter(@Args() params: ListParam, @Ctx() context: any): Promise<MovementCount[]> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n let bizplaces = (await getPermittedBizplaceIds(domain, user))\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n let startDate = new Date()\n let endDate = new Date()\n startDate.setDate(startDate.getDate() - 30)\n startDate.setHours(0)\n startDate.setMinutes(0)\n startDate.setSeconds(0)\n const timeNow = `${endDate.getHours()}:${endDate.getMinutes()}:${endDate.getSeconds()}`\n\n const counter = await getRepository(InventoryHistory).query(`\n select inbound_date, count(*) from(\n select date(ih.created_at) inbound_date from inventory_histories ih\n where ih.bizplace_id in (${bizplaces})\n and ih.transaction_type in ('NEW', 'PUTAWAY')\n and created_at between '${startDate.toLocaleDateString()} 00:00:00' and '${endDate.toLocaleDateString()} ${timeNow}'\n and domain_id = '${domain.id}'\n ) as foo\n group by inbound_date\n order by inbound_date asc\n `)\n\n let items = []\n for (let i = 0; i < 30; i++) {\n const month = startDate.toLocaleString('default', { month: 'short' })\n const day = startDate.getDate()\n\n items.push({\n date: `${month} ${day.toString().padStart(2, '0')}`,\n count: '0'\n })\n startDate.setDate(startDate.getDate() + 1)\n }\n\n let compareDate = new Date()\n compareDate.setDate(compareDate.getDate() - 30)\n compareDate.setHours(0)\n compareDate.setMinutes(0)\n compareDate.setSeconds(0)\n\n items = items.map((item: { date: string; count: number }) => {\n item.count =\n counter.find(ctr => ctr.inbound_date.toLocaleDateString() === compareDate.toLocaleDateString())?.count || 0\n\n compareDate.setDate(compareDate.getDate() + 1)\n\n return item\n })\n\n return items\n }\n\n @Query(returns => [MovementCount])\n async outboundMovementsCounter(@Args() params: ListParam, @Ctx() context: any): Promise<MovementCount[]> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n let bizplaces = (await getPermittedBizplaceIds(domain, user))\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n let startDate = new Date()\n let endDate = new Date()\n startDate.setDate(startDate.getDate() - 30)\n startDate.setHours(0)\n startDate.setMinutes(0)\n startDate.setSeconds(0)\n const timeNow = `${endDate.getHours()}:${endDate.getMinutes()}:${endDate.getSeconds()}`\n\n const counter = await getRepository(InventoryHistory).query(`\n select outbound_date, count(*) from(\n select date(ih.created_at) outbound_date, row_number() over(partition by ih.pallet_id order by ih.created_at desc) as rn, ih.*, iv.bizplace_id\n from inventory_histories ih\n inner join inventories iv on iv.pallet_id = ih.pallet_id and iv.domain_id = ih.domain_id\n where ih.domain_id='${domain.id}'\n and iv.bizplace_id in (${bizplaces}) and ih.status = 'TERMINATED'\n ) as src \n where rn = 1\n and created_at between '${startDate.toLocaleDateString()} 00:00:00' and '${endDate.toLocaleDateString()} ${timeNow}'\n group by src.outbound_date\n order by src.outbound_date\n `)\n\n let items = []\n for (let i = 0; i < 30; i++) {\n const month = startDate.toLocaleString('default', { month: 'short' })\n const day = startDate.getDate()\n\n items.push({\n date: `${month} ${day.toString().padStart(2, '0')}`,\n count: '0'\n })\n startDate.setDate(startDate.getDate() + 1)\n }\n\n let compareDate = new Date()\n compareDate.setDate(compareDate.getDate() - 30)\n compareDate.setHours(0)\n compareDate.setMinutes(0)\n compareDate.setSeconds(0)\n\n items = items.map((item: { date: string; count: number }) => {\n item.count =\n counter.find(ctr => ctr.outbound_date.toLocaleDateString() === compareDate.toLocaleDateString())?.count || 0\n\n compareDate.setDate(compareDate.getDate() + 1)\n\n return item\n })\n\n return items\n }\n\n @Query(returns => [MovementCount])\n async weeklyMovementsCounter(\n @Arg('month') month: number,\n @Arg('year') year: number,\n @Ctx() context: any\n ): Promise<MovementCount[]> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n let bizplaces = (await getPermittedBizplaceIds(domain, user))\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n if (!month && !year) {\n // if user didn't specify the month and year, set default as last month\n var firstOfMonth = new Date()\n var lastOfMonth = new Date()\n\n firstOfMonth.setMonth(firstOfMonth.getMonth() - 1)\n firstOfMonth.setDate(1)\n lastOfMonth.setDate(0)\n } else {\n var firstOfMonth = new Date(year, month - 1, 1)\n var lastOfMonth = new Date(year, month, 0)\n }\n\n // get data from database\n const data = await getRepository(InventoryHistory).query(`\n\t\t\tselect movement_date, sum(outbound_count) as outbound_count, sum(inbound_count) as inbound_count from (\n\t\t\t\tselect movement_date, count(*) as outbound_count, 0 as inbound_count from(\n\t\t\t\t\tselect date(ih.created_at) movement_date, row_number() over(partition by ih.pallet_id order by ih.created_at desc) as rn, ih.*, iv.bizplace_id\n\t\t\t\t\tfrom inventory_histories ih\n\t\t\t\t\tinner join inventories iv on iv.pallet_id = ih.pallet_id and iv.domain_id = ih.domain_id\n\t\t\t\t\twhere ih.domain_id = '${domain.id}'\n\t\t\t\t\tand iv.bizplace_id in (${bizplaces}) and ih.status = 'TERMINATED'\n\t\t\t\t) as src \n\t\t\t\twhere rn = 1\n\t\t\t\tand created_at between '${firstOfMonth.toLocaleDateString()} 00:00:00' and '${lastOfMonth.toLocaleDateString()} 23:59:59'\n\t\t\t\tgroup by movement_date\n\t\t\t\tunion all\n\t\t\t\tselect movement_date, 0 as outbound_count, count(*) as inbound_count from(\n\t\t\t\t\t\tselect date(ih.created_at) movement_date from inventory_histories ih\n\t\t\t\t\t\twhere ih.bizplace_id in (${bizplaces})\n\t\t\t\t\t\tand ih.transaction_type in ('NEW', 'PUTAWAY')\n\t\t\t\t\t\tand created_at between '${firstOfMonth.toLocaleDateString()} 00:00:00' and '${lastOfMonth.toLocaleDateString()} 23:59:59'\n\t\t\t\t\tand domain_id = '${domain.id}'\n\t\t\t\t) as foo\n\t\t\t\tgroup by movement_date\n\t\t\t\torder by movement_date\n\t\t\t) src\n\t\t\tgroup by movement_date\n\t\t`)\n\n let movements = [\n { week: 'Week 01', ...getMovementByWeek(data, [0, 7]) },\n { week: 'Week 02', ...getMovementByWeek(data, [8, 14]) },\n { week: 'Week 03', ...getMovementByWeek(data, [15, 21]) },\n { week: 'Week 04', ...getMovementByWeek(data, [21, 31]) }\n ]\n\n // return total 4 weeks of in/outbound movements for a specific month\n return movements\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() movement: Movement) {\n return await getRepository(Domain).findOne(movement.domainId)\n }\n\n @FieldResolver(type => User)\n async updater(@Root() movement: Movement) {\n return await getRepository(User).findOne(movement.updaterId)\n }\n\n @FieldResolver(type => User)\n async creator(@Root() movement: Movement) {\n return await getRepository(User).findOne(movement.creatorId)\n }\n}\n\nfunction getMovementByWeek(data, range): { inbound: number; outbound: number } {\n return data\n .filter(item => item.movement_date.getDate() > range[0] && item.movement_date.getDate() <= range[1])\n .reduce(\n (inout: { inbound: number; outbound: number }, curr) => {\n inout.inbound += Number(curr.inbound_count)\n inout.outbound += Number(curr.outbound_count)\n\n return inout\n },\n { inbound: 0, outbound: 0 }\n )\n}\n"]}
1
+ {"version":3,"file":"movement-query.js","sourceRoot":"","sources":["../../../server/service/movement/movement-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { convertListParams, Domain, getRepository, ListParam } from '@things-factory/shell'\n\nimport { InventoryHistory } from '../inventory-history/inventory-history'\nimport { Movement } from './movement'\nimport { MovementCount, MovementList } from './movement-types'\n\n@Resolver(Movement)\nexport class MovementQuery {\n @Directive('@privilege(category: \"movement\", privilege: \"query\")')\n @Query(returns => MovementList)\n async movements(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<MovementList> {\n const convertedParams = convertListParams(params)\n convertedParams.where.bizplace = In(await getPermittedBizplaceIds(context.state.domain, context.state.user))\n\n const [items, total] = await getRepository(Movement).findAndCount({\n ...convertedParams,\n relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater']\n })\n return { items, total }\n }\n\n @Directive('@privilege(category: \"movement\", privilege: \"query\")')\n @Query(returns => Movement)\n async movement(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Movement> {\n const { domain, user } = context.state\n\n return await getRepository(Movement).findOne({\n where: {\n domain: { id: domain.id },\n /* name,*/\n bizplace: In(await getPermittedBizplaceIds(domain, user))\n },\n relations: ['domain', 'bizplace', 'inventory', 'creator', 'updater']\n })\n }\n\n @Query(returns => [MovementCount])\n async inboundMovementsCounter(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<MovementCount[]> {\n const { domain, user } = context.state\n\n let bizplaces = (await getPermittedBizplaceIds(domain, user))\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n let startDate = new Date()\n let endDate = new Date()\n startDate.setDate(startDate.getDate() - 30)\n startDate.setHours(0)\n startDate.setMinutes(0)\n startDate.setSeconds(0)\n const timeNow = `${endDate.getHours()}:${endDate.getMinutes()}:${endDate.getSeconds()}`\n\n const counter = await getRepository(InventoryHistory).query(`\n select inbound_date, count(*) from(\n select date(ih.created_at) inbound_date from inventory_histories ih\n where ih.bizplace_id in (${bizplaces})\n and ih.transaction_type in ('NEW', 'PUTAWAY')\n and created_at between '${startDate.toLocaleDateString()} 00:00:00' and '${endDate.toLocaleDateString()} ${timeNow}'\n and domain_id = '${domain.id}'\n ) as foo\n group by inbound_date\n order by inbound_date asc\n `)\n\n let items = []\n for (let i = 0; i < 30; i++) {\n const month = startDate.toLocaleString('default', { month: 'short' })\n const day = startDate.getDate()\n\n items.push({\n date: `${month} ${day.toString().padStart(2, '0')}`,\n count: '0'\n })\n startDate.setDate(startDate.getDate() + 1)\n }\n\n let compareDate = new Date()\n compareDate.setDate(compareDate.getDate() - 30)\n compareDate.setHours(0)\n compareDate.setMinutes(0)\n compareDate.setSeconds(0)\n\n items = items.map((item: { date: string; count: number }) => {\n item.count =\n counter.find(ctr => ctr.inbound_date.toLocaleDateString() === compareDate.toLocaleDateString())?.count || 0\n\n compareDate.setDate(compareDate.getDate() + 1)\n\n return item\n })\n\n return items\n }\n\n @Query(returns => [MovementCount])\n async outboundMovementsCounter(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<MovementCount[]> {\n const { domain, user } = context.state\n\n let bizplaces = (await getPermittedBizplaceIds(domain, user))\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n let startDate = new Date()\n let endDate = new Date()\n startDate.setDate(startDate.getDate() - 30)\n startDate.setHours(0)\n startDate.setMinutes(0)\n startDate.setSeconds(0)\n const timeNow = `${endDate.getHours()}:${endDate.getMinutes()}:${endDate.getSeconds()}`\n\n const counter = await getRepository(InventoryHistory).query(`\n select outbound_date, count(*) from(\n select date(ih.created_at) outbound_date, row_number() over(partition by ih.pallet_id order by ih.created_at desc) as rn, ih.*, iv.bizplace_id\n from inventory_histories ih\n inner join inventories iv on iv.pallet_id = ih.pallet_id and iv.domain_id = ih.domain_id\n where ih.domain_id='${domain.id}'\n and iv.bizplace_id in (${bizplaces}) and ih.status = 'TERMINATED'\n ) as src \n where rn = 1\n and created_at between '${startDate.toLocaleDateString()} 00:00:00' and '${endDate.toLocaleDateString()} ${timeNow}'\n group by src.outbound_date\n order by src.outbound_date\n `)\n\n let items = []\n for (let i = 0; i < 30; i++) {\n const month = startDate.toLocaleString('default', { month: 'short' })\n const day = startDate.getDate()\n\n items.push({\n date: `${month} ${day.toString().padStart(2, '0')}`,\n count: '0'\n })\n startDate.setDate(startDate.getDate() + 1)\n }\n\n let compareDate = new Date()\n compareDate.setDate(compareDate.getDate() - 30)\n compareDate.setHours(0)\n compareDate.setMinutes(0)\n compareDate.setSeconds(0)\n\n items = items.map((item: { date: string; count: number }) => {\n item.count =\n counter.find(ctr => ctr.outbound_date.toLocaleDateString() === compareDate.toLocaleDateString())?.count || 0\n\n compareDate.setDate(compareDate.getDate() + 1)\n\n return item\n })\n\n return items\n }\n\n @Query(returns => [MovementCount])\n async weeklyMovementsCounter(\n @Arg('month') month: number,\n @Arg('year') year: number,\n @Ctx() context: ResolverContext\n ): Promise<MovementCount[]> {\n const { domain, user } = context.state\n\n let bizplaces = (await getPermittedBizplaceIds(domain, user))\n .map(bizplace => {\n return \"'\" + bizplace.trim() + \"'\"\n })\n .join(',')\n\n if (!month && !year) {\n // if user didn't specify the month and year, set default as last month\n var firstOfMonth = new Date()\n var lastOfMonth = new Date()\n\n firstOfMonth.setMonth(firstOfMonth.getMonth() - 1)\n firstOfMonth.setDate(1)\n lastOfMonth.setDate(0)\n } else {\n var firstOfMonth = new Date(year, month - 1, 1)\n var lastOfMonth = new Date(year, month, 0)\n }\n\n // get data from database\n const data = await getRepository(InventoryHistory).query(`\n\t\t\tselect movement_date, sum(outbound_count) as outbound_count, sum(inbound_count) as inbound_count from (\n\t\t\t\tselect movement_date, count(*) as outbound_count, 0 as inbound_count from(\n\t\t\t\t\tselect date(ih.created_at) movement_date, row_number() over(partition by ih.pallet_id order by ih.created_at desc) as rn, ih.*, iv.bizplace_id\n\t\t\t\t\tfrom inventory_histories ih\n\t\t\t\t\tinner join inventories iv on iv.pallet_id = ih.pallet_id and iv.domain_id = ih.domain_id\n\t\t\t\t\twhere ih.domain_id = '${domain.id}'\n\t\t\t\t\tand iv.bizplace_id in (${bizplaces}) and ih.status = 'TERMINATED'\n\t\t\t\t) as src \n\t\t\t\twhere rn = 1\n\t\t\t\tand created_at between '${firstOfMonth.toLocaleDateString()} 00:00:00' and '${lastOfMonth.toLocaleDateString()} 23:59:59'\n\t\t\t\tgroup by movement_date\n\t\t\t\tunion all\n\t\t\t\tselect movement_date, 0 as outbound_count, count(*) as inbound_count from(\n\t\t\t\t\t\tselect date(ih.created_at) movement_date from inventory_histories ih\n\t\t\t\t\t\twhere ih.bizplace_id in (${bizplaces})\n\t\t\t\t\t\tand ih.transaction_type in ('NEW', 'PUTAWAY')\n\t\t\t\t\t\tand created_at between '${firstOfMonth.toLocaleDateString()} 00:00:00' and '${lastOfMonth.toLocaleDateString()} 23:59:59'\n\t\t\t\t\tand domain_id = '${domain.id}'\n\t\t\t\t) as foo\n\t\t\t\tgroup by movement_date\n\t\t\t\torder by movement_date\n\t\t\t) src\n\t\t\tgroup by movement_date\n\t\t`)\n\n let movements = [\n { week: 'Week 01', ...getMovementByWeek(data, [0, 7]) },\n { week: 'Week 02', ...getMovementByWeek(data, [8, 14]) },\n { week: 'Week 03', ...getMovementByWeek(data, [15, 21]) },\n { week: 'Week 04', ...getMovementByWeek(data, [21, 31]) }\n ]\n\n // return total 4 weeks of in/outbound movements for a specific month\n return movements\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() movement: Movement) {\n return await getRepository(Domain).findOneBy({ id: movement.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() movement: Movement) {\n return await getRepository(User).findOneBy({ id: movement.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() movement: Movement) {\n return await getRepository(User).findOneBy({ id: movement.creatorId })\n }\n}\n\nfunction getMovementByWeek(data, range): { inbound: number; outbound: number } {\n return data\n .filter(item => item.movement_date.getDate() > range[0] && item.movement_date.getDate() <= range[1])\n .reduce(\n (inout: { inbound: number; outbound: number }, curr) => {\n inout.inbound += Number(curr.inbound_count)\n inout.outbound += Number(curr.outbound_count)\n\n return inout\n },\n { inbound: 0, outbound: 0 }\n )\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a, _b, _c, _d;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.NewMovement = exports.MovementPatch = exports.MovementList = exports.MovementCount = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -54,11 +53,11 @@ tslib_1.__decorate([
54
53
  ], MovementPatch.prototype, "id", void 0);
55
54
  tslib_1.__decorate([
56
55
  (0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
57
- tslib_1.__metadata("design:type", typeof (_a = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _a : Object)
56
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
58
57
  ], MovementPatch.prototype, "bizplace", void 0);
59
58
  tslib_1.__decorate([
60
59
  (0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
61
- tslib_1.__metadata("design:type", typeof (_b = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _b : Object)
60
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
62
61
  ], MovementPatch.prototype, "inventory", void 0);
63
62
  tslib_1.__decorate([
64
63
  (0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
@@ -84,11 +83,11 @@ tslib_1.__decorate([
84
83
  ], NewMovement.prototype, "id", void 0);
85
84
  tslib_1.__decorate([
86
85
  (0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
87
- tslib_1.__metadata("design:type", typeof (_c = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _c : Object)
86
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
88
87
  ], NewMovement.prototype, "bizplace", void 0);
89
88
  tslib_1.__decorate([
90
89
  (0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
91
- tslib_1.__metadata("design:type", typeof (_d = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _d : Object)
90
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
92
91
  ], NewMovement.prototype, "inventory", void 0);
93
92
  tslib_1.__decorate([
94
93
  (0, type_graphql_1.Field)(type => type_graphql_1.Int),
@@ -1 +1 @@
1
- {"version":3,"file":"movement-types.js","sourceRoot":"","sources":["../../../server/service/movement/movement-types.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { Movement } from './movement'\n\n@ObjectType()\nexport class MovementCount {\n @Field({ nullable: true })\n date?: string\n\n @Field({ nullable: true })\n count?: string\n\n @Field({ nullable: true })\n week?: string\n\n @Field(type => Int, { nullable: true })\n inbound?: number\n\n @Field(type => Int, { nullable: true })\n outbound?: number\n}\n\n@ObjectType()\nexport class MovementList {\n @Field(type => [Movement], { nullable: true })\n items?: Movement[]\n\n @Field(type => Int, { nullable: true })\n total?: number\n}\n\n@InputType()\nexport class MovementPatch {\n @Field({ nullable: true })\n id?: string\n\n @Field(type => ObjectRef, { nullable: true })\n bizplace?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n inventory?: ObjectRef\n\n @Field(type => Int, { nullable: true })\n inQty?: number\n\n @Field(type => Int, { nullable: true })\n outQty?: number\n\n @Field({ nullable: true })\n descrtiption?: string\n}\n\n@InputType()\nexport class NewMovement {\n @Field({ nullable: true })\n id?: string\n\n @Field(type => ObjectRef, { nullable: true })\n bizplace?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n inventory?: ObjectRef\n\n @Field(type => Int)\n inQty: number\n\n @Field(type => Int)\n outQty: number\n\n @Field({ nullable: true })\n description?: string\n}\n"]}
1
+ {"version":3,"file":"movement-types.js","sourceRoot":"","sources":["../../../server/service/movement/movement-types.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { Movement } from './movement'\n\n@ObjectType()\nexport class MovementCount {\n @Field({ nullable: true })\n date?: string\n\n @Field({ nullable: true })\n count?: string\n\n @Field({ nullable: true })\n week?: string\n\n @Field(type => Int, { nullable: true })\n inbound?: number\n\n @Field(type => Int, { nullable: true })\n outbound?: number\n}\n\n@ObjectType()\nexport class MovementList {\n @Field(type => [Movement], { nullable: true })\n items?: Movement[]\n\n @Field(type => Int, { nullable: true })\n total?: number\n}\n\n@InputType()\nexport class MovementPatch {\n @Field({ nullable: true })\n id?: string\n\n @Field(type => ObjectRef, { nullable: true })\n bizplace?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n inventory?: ObjectRef\n\n @Field(type => Int, { nullable: true })\n inQty?: number\n\n @Field(type => Int, { nullable: true })\n outQty?: number\n\n @Field({ nullable: true })\n descrtiption?: string\n}\n\n@InputType()\nexport class NewMovement {\n @Field({ nullable: true })\n id?: string\n\n @Field(type => ObjectRef, { nullable: true })\n bizplace?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n inventory?: ObjectRef\n\n @Field(type => Int)\n inQty: number\n\n @Field(type => Int)\n outQty: number\n\n @Field({ nullable: true })\n description?: string\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- var _a, _b, _c, _d;
2
+ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Movement = void 0;
5
5
  const tslib_1 = require("tslib");
@@ -19,7 +19,7 @@ tslib_1.__decorate([
19
19
  tslib_1.__decorate([
20
20
  (0, typeorm_1.ManyToOne)(type => shell_1.Domain),
21
21
  (0, type_graphql_1.Field)(),
22
- tslib_1.__metadata("design:type", typeof (_a = typeof shell_1.Domain !== "undefined" && shell_1.Domain) === "function" ? _a : Object)
22
+ tslib_1.__metadata("design:type", shell_1.Domain)
23
23
  ], Movement.prototype, "domain", void 0);
24
24
  tslib_1.__decorate([
25
25
  (0, typeorm_1.RelationId)((movement) => movement.domain),
@@ -28,7 +28,7 @@ tslib_1.__decorate([
28
28
  tslib_1.__decorate([
29
29
  (0, typeorm_1.ManyToOne)(type => biz_base_1.Bizplace),
30
30
  (0, type_graphql_1.Field)(),
31
- tslib_1.__metadata("design:type", typeof (_b = typeof biz_base_1.Bizplace !== "undefined" && biz_base_1.Bizplace) === "function" ? _b : Object)
31
+ tslib_1.__metadata("design:type", typeof (_a = typeof biz_base_1.Bizplace !== "undefined" && biz_base_1.Bizplace) === "function" ? _a : Object)
32
32
  ], Movement.prototype, "bizplace", void 0);
33
33
  tslib_1.__decorate([
34
34
  (0, typeorm_1.ManyToOne)(type => inventory_1.Inventory),
@@ -57,7 +57,7 @@ tslib_1.__decorate([
57
57
  nullable: true
58
58
  }),
59
59
  (0, type_graphql_1.Field)({ nullable: true }),
60
- tslib_1.__metadata("design:type", typeof (_c = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _c : Object)
60
+ tslib_1.__metadata("design:type", auth_base_1.User)
61
61
  ], Movement.prototype, "creator", void 0);
62
62
  tslib_1.__decorate([
63
63
  (0, typeorm_1.RelationId)((movement) => movement.creator),
@@ -68,7 +68,7 @@ tslib_1.__decorate([
68
68
  nullable: true
69
69
  }),
70
70
  (0, type_graphql_1.Field)({ nullable: true }),
71
- tslib_1.__metadata("design:type", typeof (_d = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _d : Object)
71
+ tslib_1.__metadata("design:type", auth_base_1.User)
72
72
  ], Movement.prototype, "updater", void 0);
73
73
  tslib_1.__decorate([
74
74
  (0, typeorm_1.RelationId)((movement) => movement.updater),
@@ -1 +1 @@
1
- {"version":3,"file":"movement.js","sourceRoot":"","sources":["../../../server/service/movement/movement.ts"],"names":[],"mappings":";;;;;AAAA,+CAA2D;AAC3D,qCASgB;AAEhB,yDAAgD;AAChD,uDAAmD;AACnD,iDAA8C;AAE9C,sDAAkD;AAKlD,IAAa,QAAQ,GAArB,MAAa,QAAQ;CA2DpB,CAAA;AAxDC;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;oCACR;AAIV;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IACzB,IAAA,oBAAK,GAAE;0DACA,cAAM,oBAAN,cAAM;wCAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;;0CACpC;AAIhB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,mBAAQ,CAAC;IAC3B,IAAA,oBAAK,GAAE;0DACE,mBAAQ,oBAAR,mBAAQ;0CAAA;AAIlB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,qBAAS,CAAC;IAC5B,IAAA,oBAAK,GAAE;sCACG,qBAAS;2CAAA;AAIpB;IAFC,IAAA,gBAAM,EAAC,OAAO,CAAC;IACf,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,CAAC;;uCACR;AAIb;IAFC,IAAA,gBAAM,EAAC,OAAO,CAAC;IACf,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,CAAC;;wCACP;AAMd;IAJC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACP;AAMnB;IAJC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACjB,gBAAI,oBAAJ,gBAAI;yCAAA;AAGb;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;;2CACpC;AAMjB;IAJC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACjB,gBAAI,oBAAJ,gBAAI;yCAAA;AAGb;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;;2CACpC;AAIjB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACf,IAAI;2CAAA;AAIf;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACf,IAAI;2CAAA;AA1DJ,QAAQ;IAHpB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,eAAe,EAAE,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACnF,IAAA,yBAAU,GAAE;GACA,QAAQ,CA2DpB;AA3DY,4BAAQ","sourcesContent":["import { Field, Float, ID, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { Inventory } from '../inventory/inventory'\n\n@Entity()\n@Index('ix_movement_0', (movement: Movement) => [movement.domain], { unique: true })\n@ObjectType()\nexport class Movement {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n id: string\n\n @ManyToOne(type => Domain)\n @Field()\n domain: Domain\n\n @RelationId((movement: Movement) => movement.domain)\n domainId: string\n\n @ManyToOne(type => Bizplace)\n @Field()\n bizplace: Bizplace\n\n @ManyToOne(type => Inventory)\n @Field()\n inventory: Inventory\n\n @Column('float')\n @Field(type => Float)\n inQty: number\n\n @Column('float')\n @Field(type => Float)\n outQty: number\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n description: string\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field({ nullable: true })\n creator: User\n\n @RelationId((movement: Movement) => movement.creator)\n creatorId: string\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field({ nullable: true })\n updater: User\n\n @RelationId((movement: Movement) => movement.updater)\n updaterId: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n}\n"]}
1
+ {"version":3,"file":"movement.js","sourceRoot":"","sources":["../../../server/service/movement/movement.ts"],"names":[],"mappings":";;;;;AAAA,+CAA2D;AAC3D,qCASgB;AAEhB,yDAAgD;AAChD,uDAAmD;AACnD,iDAA8C;AAE9C,sDAAkD;AAKlD,IAAa,QAAQ,GAArB,MAAa,QAAQ;CA2DpB,CAAA;AAxDC;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;oCACR;AAIV;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IACzB,IAAA,oBAAK,GAAE;sCACA,cAAM;wCAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;;0CACpC;AAIhB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,mBAAQ,CAAC;IAC3B,IAAA,oBAAK,GAAE;0DACE,mBAAQ,oBAAR,mBAAQ;0CAAA;AAIlB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,qBAAS,CAAC;IAC5B,IAAA,oBAAK,GAAE;sCACG,qBAAS;2CAAA;AAIpB;IAFC,IAAA,gBAAM,EAAC,OAAO,CAAC;IACf,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,CAAC;;uCACR;AAIb;IAFC,IAAA,gBAAM,EAAC,OAAO,CAAC;IACf,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,CAAC;;wCACP;AAMd;IAJC,IAAA,gBAAM,EAAC;QACN,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACP;AAMnB;IAJC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjB,gBAAI;yCAAA;AAGb;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;;2CACpC;AAMjB;IAJC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjB,gBAAI;yCAAA;AAGb;IADC,IAAA,oBAAU,EAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;;2CACpC;AAIjB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACf,IAAI;2CAAA;AAIf;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACf,IAAI;2CAAA;AA1DJ,QAAQ;IAHpB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,eAAe,EAAE,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACnF,IAAA,yBAAU,GAAE;GACA,QAAQ,CA2DpB;AA3DY,4BAAQ","sourcesContent":["import { Field, Float, ID, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { Inventory } from '../inventory/inventory'\n\n@Entity()\n@Index('ix_movement_0', (movement: Movement) => [movement.domain], { unique: true })\n@ObjectType()\nexport class Movement {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n id: string\n\n @ManyToOne(type => Domain)\n @Field()\n domain: Domain\n\n @RelationId((movement: Movement) => movement.domain)\n domainId: string\n\n @ManyToOne(type => Bizplace)\n @Field()\n bizplace: Bizplace\n\n @ManyToOne(type => Inventory)\n @Field()\n inventory: Inventory\n\n @Column('float')\n @Field(type => Float)\n inQty: number\n\n @Column('float')\n @Field(type => Float)\n outQty: number\n\n @Column({\n nullable: true\n })\n @Field({ nullable: true })\n description: string\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field({ nullable: true })\n creator: User\n\n @RelationId((movement: Movement) => movement.creator)\n creatorId: string\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field({ nullable: true })\n updater: User\n\n @RelationId((movement: Movement) => movement.updater)\n updaterId: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n}\n"]}
@@ -30,10 +30,10 @@ let PalletMutation = class PalletMutation {
30
30
  for (let i = 0; i < _createRecords.length; i++) {
31
31
  const newRecord = _createRecords[i];
32
32
  if (newRecord.owner && newRecord.owner.id) {
33
- newRecord.owner = await tx.getRepository(biz_base_1.Bizplace).findOne(newRecord.owner.id);
33
+ newRecord.owner = (await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: newRecord.owner.id }));
34
34
  }
35
35
  if (newRecord.holder && newRecord.holder.id) {
36
- newRecord.holder = await tx.getRepository(biz_base_1.Bizplace).findOne(newRecord.holder.id);
36
+ newRecord.holder = (await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: newRecord.holder.id }));
37
37
  }
38
38
  const result = await tx.getRepository(pallet_1.Pallet).save(Object.assign({ domain: domain, creator: user, updater: user }, newRecord));
39
39
  await tx.getRepository(pallet_history_1.PalletHistory).save(Object.assign(Object.assign({}, newRecord), { pallet: result, domain: domain, creator: user, updater: user, transactionType: 'NEW' }));
@@ -49,10 +49,10 @@ let PalletMutation = class PalletMutation {
49
49
  });
50
50
  const seq = pallet.seq + 1;
51
51
  if (newRecord.owner && newRecord.owner.id) {
52
- newRecord.owner = await tx.getRepository(biz_base_1.Bizplace).findOne(newRecord.owner.id);
52
+ newRecord.owner = (await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: newRecord.owner.id }));
53
53
  }
54
54
  if (newRecord.holder && newRecord.holder.id) {
55
- newRecord.holder = await tx.getRepository(biz_base_1.Bizplace).findOne(newRecord.holder.id);
55
+ newRecord.holder = (await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: newRecord.holder.id }));
56
56
  }
57
57
  const result = await tx.getRepository(pallet_1.Pallet).save(Object.assign(Object.assign(Object.assign({}, pallet), newRecord), { seq, updater: user, refOrderNo: null }));
58
58
  let newHistory = Object.assign(Object.assign(Object.assign({}, pallet), newRecord), { pallet: result, seq, domain: domain, creator: user, updater: user, transactionType: 'UPDATE' });
@@ -107,7 +107,7 @@ let PalletMutation = class PalletMutation {
107
107
  relations: ['owner', 'holder']
108
108
  });
109
109
  const seq = pallet.seq + 1;
110
- newRecord.owner = await tx.getRepository(biz_base_1.Bizplace).findOne(newRecord.owner.id);
110
+ newRecord.owner = (await tx.getRepository(biz_base_1.Bizplace).findOneBy({ id: newRecord.owner.id }));
111
111
  newRecord.holder = newRecord.owner;
112
112
  const result = await tx.getRepository(pallet_1.Pallet).save(Object.assign(Object.assign(Object.assign({}, pallet), newRecord), { seq, updater: user, refOrderNo: null }));
113
113
  let newHistory = Object.assign(Object.assign(Object.assign({}, pallet), newRecord), { pallet: result, seq, domain: domain, creator: user, updater: user, transactionType: 'RETURN' });
@@ -1 +1 @@
1
- {"version":3,"file":"pallet-mutation.js","sourceRoot":"","sources":["../../../server/service/pallet/pallet-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,qCAA2C;AAG3C,uDAAmD;AAGnD,qEAAgE;AAChE,qCAAiC;AACjC,iDAAuD;AAGvD,IAAa,cAAc,GAA3B,MAAa,cAAc;IAGzB,KAAK,CAAC,YAAY,CAAgB,MAAiB,EAAS,OAAY;QACtE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,eAAM,CAAC,CAAC,IAAI,iCACrC,MAAM,KACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;IAID,KAAK,CAAC,YAAY,CACH,IAAY,EACX,KAAkB,EACzB,OAAY;QAEnB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,eAAM,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACtC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;SAChC,CAAC,CAAA;QAEF,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,MAAM,GACN,KAAK,KACR,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;IAID,KAAK,CAAC,oBAAoB,CACe,OAAsB,EACtD,OAAY;QAEnB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QAEzF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBAEnC,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE;oBACzC,SAAS,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;iBAC/E;gBAED,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE;oBAC3C,SAAS,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;iBACjF;gBAED,MAAM,MAAM,GAAW,MAAM,EAAE,CAAC,aAAa,CAAC,eAAM,CAAC,CAAC,IAAI,iBACxD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACV,SAAS,EACZ,CAAA;gBAEF,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCACrC,SAAS,KACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,EACb,eAAe,EAAE,KAAK,IACtB,CAAA;gBAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;aACzC;SACF;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBACnC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,eAAM,CAAC,CAAC,OAAO,CAAC;oBACpD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE;oBAC3B,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;iBAC/B,CAAC,CAAA;gBACF,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAA;gBAE1B,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE;oBACzC,SAAS,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;iBAC/E;gBAED,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE;oBAC3C,SAAS,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;iBACjF;gBAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,eAAM,CAAC,CAAC,IAAI,+CAC7C,MAAM,GACN,SAAS,KACZ,GAAG,EACH,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,IAAI,IAChB,CAAA;gBAEF,IAAI,UAAU,iDACT,MAAM,GACN,SAAS,KACZ,MAAM,EAAE,MAAM,EACd,GAAG,EACH,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,EACb,eAAe,EAAE,QAAQ,GAC1B,CAAA;gBAED,OAAO,UAAU,CAAC,EAAE,CAAA;gBAEpB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,mBACrC,UAAU,EACb,CAAA;gBAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;aACzC;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAID,KAAK,CAAC,YAAY,CAAc,IAAY,EAAS,OAAY;QAC/D,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAA0C,OAAO,CAAC,KAAK,CAAA;QAE3E,MAAM,EAAE,CAAC,aAAa,CAAC,eAAM,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/D,OAAO,IAAI,CAAA;IACb,CAAC;IAID,KAAK,CAAC,aAAa,CAA+B,GAAa,EAAS,OAAY;QAClF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,eAAM,CAAC,CAAC,IAAI,CAAC;YAClD,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC;aACZ;YACD,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;SAC/B,CAAC,CAAA;QAEF,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE;YACnC,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAA;YACxB,MAAM,EAAE,CAAC,aAAa,CAAC,eAAM,CAAC,CAAC,IAAI,iCAC9B,MAAM,KACT,MAAM,EAAE,YAAY,EACpB,GAAG,EACH,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,CAAC;gBACzC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG;gBACH,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,YAAY;gBACpB,eAAe,EAAE,QAAQ;aAC1B,CAAC,CAAA;QACJ,CAAC,CAAC,CACH,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAID,KAAK,CAAC,YAAY,CACuB,OAAsB,EACtD,OAAY;QAEnB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,cAAc,GAAG,OAAO,CAAA;QAE9B,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBACnC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,eAAM,CAAC,CAAC,OAAO,CAAC;oBACpD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE;oBAC3B,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;iBAC/B,CAAC,CAAA;gBACF,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAA;gBAE1B,SAAS,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAC9E,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAA;gBAElC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,eAAM,CAAC,CAAC,IAAI,+CAC7C,MAAM,GACN,SAAS,KACZ,GAAG,EACH,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,IAAI,IAChB,CAAA;gBAEF,IAAI,UAAU,iDACT,MAAM,GACN,SAAS,KACZ,MAAM,EAAE,MAAM,EACd,GAAG,EACH,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,EACb,eAAe,EAAE,QAAQ,GAC1B,CAAA;gBAED,OAAO,UAAU,CAAC,EAAE,CAAA;gBAEpB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,mBACrC,UAAU,EACb,CAAA;gBAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;aACzC;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAA;AApOC;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,eAAM,CAAC;IACR,mBAAA,IAAA,kBAAG,EAAC,QAAQ,CAAC,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,wBAAS;;kDASlD;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,eAAM,CAAC;IAEzB,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,OAAO,CAAC,CAAA;IACZ,mBAAA,IAAA,kBAAG,GAAE,CAAA;;qDADe,0BAAW;;kDAejC;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,eAAM,CAAC,CAAC;IAE3B,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,0BAAW,CAAC,CAAC,CAAA;IACrC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;0DAuFP;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;IACT,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;kDAKnD;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;IACR,mBAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAAiB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;mDAoCtE;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,eAAM,CAAC,CAAC;IAE3B,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,0BAAW,CAAC,CAAC,CAAA;IACrC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;kDAiDP;AAtOU,cAAc;IAD1B,IAAA,uBAAQ,EAAC,eAAM,CAAC;GACJ,cAAc,CAuO1B;AAvOY,wCAAc","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, In } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { PalletHistory } from '../pallet-history/pallet-history'\nimport { Pallet } from './pallet'\nimport { NewPallet, PalletPatch } from './pallet-types'\n\n@Resolver(Pallet)\nexport class PalletMutation {\n @Directive('@transaction')\n @Mutation(returns => Pallet)\n async createPallet(@Arg('pallet') pallet: NewPallet, @Ctx() context: any): Promise<Pallet> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n return await tx.getRepository(Pallet).save({\n ...pallet,\n domain: domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Pallet)\n async updatePallet(\n @Arg('name') name: string,\n @Arg('patch') patch: PalletPatch,\n @Ctx() context: any\n ): Promise<Pallet> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n const repository = tx.getRepository(Pallet)\n const pallet = await repository.findOne({\n where: { domain: domain, name }\n })\n\n return await repository.save({\n ...pallet,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Pallet])\n async updateMultiplePallet(\n @Arg('patches', type => [PalletPatch]) patches: PalletPatch[],\n @Ctx() context: any\n ): Promise<Pallet[]> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n if (newRecord.owner && newRecord.owner.id) {\n newRecord.owner = await tx.getRepository(Bizplace).findOne(newRecord.owner.id)\n }\n\n if (newRecord.holder && newRecord.holder.id) {\n newRecord.holder = await tx.getRepository(Bizplace).findOne(newRecord.holder.id)\n }\n\n const result: Pallet = await tx.getRepository(Pallet).save({\n domain: domain,\n creator: user,\n updater: user,\n ...newRecord\n })\n\n await tx.getRepository(PalletHistory).save({\n ...newRecord,\n pallet: result,\n domain: domain,\n creator: user,\n updater: user,\n transactionType: 'NEW'\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const pallet = await tx.getRepository(Pallet).findOne({\n where: { id: newRecord.id },\n relations: ['owner', 'holder']\n })\n const seq = pallet.seq + 1\n\n if (newRecord.owner && newRecord.owner.id) {\n newRecord.owner = await tx.getRepository(Bizplace).findOne(newRecord.owner.id)\n }\n\n if (newRecord.holder && newRecord.holder.id) {\n newRecord.holder = await tx.getRepository(Bizplace).findOne(newRecord.holder.id)\n }\n\n const result = await tx.getRepository(Pallet).save({\n ...pallet,\n ...newRecord,\n seq,\n updater: user,\n refOrderNo: null\n })\n\n let newHistory = {\n ...pallet,\n ...newRecord,\n pallet: result,\n seq,\n domain: domain,\n creator: user,\n updater: user,\n transactionType: 'UPDATE'\n }\n\n delete newHistory.id\n\n await tx.getRepository(PalletHistory).save({\n ...newHistory\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deletePallet(@Arg('name') name: string, @Ctx() context: any): Promise<Boolean> {\n const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state\n\n await tx.getRepository(Pallet).delete({ domain: domain, name })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deletePallets(@Arg('ids', type => [String]) ids: string[], @Ctx() context: any): Promise<Boolean> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n const pallets = await tx.getRepository(Pallet).find({\n where: {\n domain: domain,\n id: In(ids)\n },\n relations: ['owner', 'holder']\n })\n\n await Promise.all(\n pallets.map(async (pallet: Pallet) => {\n let seq = pallet.seq + 1\n await tx.getRepository(Pallet).save({\n ...pallet,\n status: 'TERMINATED',\n seq,\n updater: user\n })\n\n await tx.getRepository(PalletHistory).save({\n pallet: pallet,\n name: pallet.name,\n owner: pallet.owner,\n holder: pallet.holder,\n seq,\n domain: domain,\n creator: user,\n updater: user,\n status: 'TERMINATED',\n transactionType: 'UPDATE'\n })\n })\n )\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Pallet])\n async palletReturn(\n @Arg('patches', type => [PalletPatch]) patches: PalletPatch[],\n @Ctx() context: any\n ): Promise<Pallet[]> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n let results = []\n const _updateRecords = patches\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const pallet = await tx.getRepository(Pallet).findOne({\n where: { id: newRecord.id },\n relations: ['owner', 'holder']\n })\n const seq = pallet.seq + 1\n\n newRecord.owner = await tx.getRepository(Bizplace).findOne(newRecord.owner.id)\n newRecord.holder = newRecord.owner\n\n const result = await tx.getRepository(Pallet).save({\n ...pallet,\n ...newRecord,\n seq,\n updater: user,\n refOrderNo: null\n })\n\n let newHistory = {\n ...pallet,\n ...newRecord,\n pallet: result,\n seq,\n domain: domain,\n creator: user,\n updater: user,\n transactionType: 'RETURN'\n }\n\n delete newHistory.id\n\n await tx.getRepository(PalletHistory).save({\n ...newHistory\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n}\n"]}
1
+ {"version":3,"file":"pallet-mutation.js","sourceRoot":"","sources":["../../../server/service/pallet/pallet-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { Bizplace } from '@things-factory/biz-base'\n\nimport { PalletHistory } from '../pallet-history/pallet-history'\nimport { Pallet } from './pallet'\nimport { NewPallet, PalletPatch } from './pallet-types'\n\n@Resolver(Pallet)\nexport class PalletMutation {\n @Directive('@transaction')\n @Mutation(returns => Pallet)\n async createPallet(@Arg('pallet') pallet: NewPallet, @Ctx() context: ResolverContext): Promise<Pallet> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(Pallet).save({\n ...pallet,\n domain: domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Pallet)\n async updatePallet(\n @Arg('name') name: string,\n @Arg('patch') patch: PalletPatch,\n @Ctx() context: ResolverContext\n ): Promise<Pallet> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(Pallet)\n const pallet = await repository.findOne({\n where: { domain: domain, name }\n })\n\n return await repository.save({\n ...pallet,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Pallet])\n async updateMultiplePallet(\n @Arg('patches', type => [PalletPatch]) patches: PalletPatch[],\n @Ctx() context: ResolverContext\n ): Promise<Pallet[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n if (newRecord.owner && newRecord.owner.id) {\n newRecord.owner = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.owner.id })) as any\n }\n\n if (newRecord.holder && newRecord.holder.id) {\n newRecord.holder = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.holder.id })) as any\n }\n\n const result: Pallet = await tx.getRepository(Pallet).save({\n domain: domain,\n creator: user,\n updater: user,\n ...newRecord\n })\n\n await tx.getRepository(PalletHistory).save({\n ...newRecord,\n pallet: result,\n domain: domain,\n creator: user,\n updater: user,\n transactionType: 'NEW'\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const pallet = await tx.getRepository(Pallet).findOne({\n where: { id: newRecord.id },\n relations: ['owner', 'holder']\n })\n const seq = pallet.seq + 1\n\n if (newRecord.owner && newRecord.owner.id) {\n newRecord.owner = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.owner.id })) as any\n }\n\n if (newRecord.holder && newRecord.holder.id) {\n newRecord.holder = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.holder.id })) as any\n }\n\n const result = await tx.getRepository(Pallet).save({\n ...pallet,\n ...newRecord,\n seq,\n updater: user,\n refOrderNo: null\n })\n\n let newHistory = {\n ...pallet,\n ...newRecord,\n pallet: result,\n seq,\n domain: domain,\n creator: user,\n updater: user,\n transactionType: 'UPDATE'\n }\n\n delete newHistory.id\n\n await tx.getRepository(PalletHistory).save({\n ...newHistory\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deletePallet(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Pallet).delete({ domain: domain, name })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deletePallets(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<Boolean> {\n const { domain, user, tx } = context.state\n\n const pallets = await tx.getRepository(Pallet).find({\n where: {\n domain: domain,\n id: In(ids)\n },\n relations: ['owner', 'holder']\n })\n\n await Promise.all(\n pallets.map(async (pallet: Pallet) => {\n let seq = pallet.seq + 1\n await tx.getRepository(Pallet).save({\n ...pallet,\n status: 'TERMINATED',\n seq,\n updater: user\n })\n\n await tx.getRepository(PalletHistory).save({\n pallet: pallet,\n name: pallet.name,\n owner: pallet.owner,\n holder: pallet.holder,\n seq,\n domain: domain,\n creator: user,\n updater: user,\n status: 'TERMINATED',\n transactionType: 'UPDATE'\n })\n })\n )\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => [Pallet])\n async palletReturn(\n @Arg('patches', type => [PalletPatch]) patches: PalletPatch[],\n @Ctx() context: ResolverContext\n ): Promise<Pallet[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _updateRecords = patches\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const newRecord = _updateRecords[i]\n const pallet = await tx.getRepository(Pallet).findOne({\n where: { id: newRecord.id },\n relations: ['owner', 'holder']\n })\n const seq = pallet.seq + 1\n\n newRecord.owner = (await tx.getRepository(Bizplace).findOneBy({ id: newRecord.owner.id })) as any\n newRecord.holder = newRecord.owner\n\n const result = await tx.getRepository(Pallet).save({\n ...pallet,\n ...newRecord,\n seq,\n updater: user,\n refOrderNo: null\n })\n\n let newHistory = {\n ...pallet,\n ...newRecord,\n pallet: result,\n seq,\n domain: domain,\n creator: user,\n updater: user,\n transactionType: 'RETURN'\n }\n\n delete newHistory.id\n\n await tx.getRepository(PalletHistory).save({\n ...newHistory\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n}\n"]}
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.PalletQuery = void 0;
5
4
  const tslib_1 = require("tslib");
6
5
  const type_graphql_1 = require("type-graphql");
7
- const typeorm_1 = require("typeorm");
8
6
  const auth_base_1 = require("@things-factory/auth-base");
9
7
  const shell_1 = require("@things-factory/shell");
10
8
  const pallet_1 = require("./pallet");
@@ -20,12 +18,12 @@ let PalletQuery = class PalletQuery {
20
18
  });
21
19
  }
22
20
  const convertedParams = (0, shell_1.convertListParams)(params, { domain });
23
- const [items, total] = await (0, typeorm_1.getRepository)(pallet_1.Pallet).findAndCount(Object.assign(Object.assign({}, convertedParams), { relations: ['owner', 'holder', 'domain', 'creator', 'updater'] }));
21
+ const [items, total] = await (0, shell_1.getRepository)(pallet_1.Pallet).findAndCount(Object.assign(Object.assign({}, convertedParams), { relations: ['owner', 'holder', 'domain', 'creator', 'updater'] }));
24
22
  return { items, total };
25
23
  }
26
24
  async pallet(name, context) {
27
25
  const { domain } = context.state;
28
- let records = await (0, typeorm_1.getRepository)(pallet_1.Pallet).findOne({
26
+ let records = await (0, shell_1.getRepository)(pallet_1.Pallet).findOne({
29
27
  where: { domain: domain, name },
30
28
  relations: ['owner', 'holder', 'domain', 'creator', 'updater']
31
29
  });
@@ -35,7 +33,7 @@ let PalletQuery = class PalletQuery {
35
33
  var _a, _b;
36
34
  try {
37
35
  const { domain } = context.state;
38
- let item = await (0, typeorm_1.getRepository)(pallet_1.Pallet).findOne({
36
+ let item = await (0, shell_1.getRepository)(pallet_1.Pallet).findOne({
39
37
  where: { domain: domain, name },
40
38
  relations: ['owner', 'holder', 'domain', 'creator', 'updater']
41
39
  });
@@ -53,7 +51,7 @@ let PalletQuery = class PalletQuery {
53
51
  var _a, _b;
54
52
  try {
55
53
  const { domain } = context.state;
56
- let item = await (0, typeorm_1.getRepository)(pallet_1.Pallet).findOne({
54
+ let item = await (0, shell_1.getRepository)(pallet_1.Pallet).findOne({
57
55
  where: { domain: domain, name },
58
56
  relations: ['owner', 'holder', 'domain', 'creator', 'updater']
59
57
  });
@@ -69,20 +67,20 @@ let PalletQuery = class PalletQuery {
69
67
  }
70
68
  async palletByStatus(name, status, context) {
71
69
  const { domain } = context.state;
72
- let records = await (0, typeorm_1.getRepository)(pallet_1.Pallet).findOne({
70
+ let records = await (0, shell_1.getRepository)(pallet_1.Pallet).findOne({
73
71
  where: { domain: domain, name, status },
74
72
  relations: ['owner', 'holder', 'domain', 'creator', 'updater']
75
73
  });
76
74
  return records;
77
75
  }
78
76
  async domain(pallet) {
79
- return await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(pallet.domainId);
77
+ return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: pallet.domainId });
80
78
  }
81
79
  async updater(pallet) {
82
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(pallet.updaterId);
80
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: pallet.updaterId });
83
81
  }
84
82
  async creator(pallet) {
85
- return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(pallet.creatorId);
83
+ return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: pallet.creatorId });
86
84
  }
87
85
  };
88
86
  tslib_1.__decorate([
@@ -90,7 +88,7 @@ tslib_1.__decorate([
90
88
  tslib_1.__param(0, (0, type_graphql_1.Args)()),
91
89
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
92
90
  tslib_1.__metadata("design:type", Function),
93
- tslib_1.__metadata("design:paramtypes", [typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object, Object]),
91
+ tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
94
92
  tslib_1.__metadata("design:returntype", Promise)
95
93
  ], PalletQuery.prototype, "pallets", null);
96
94
  tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"pallet-query.js","sourceRoot":"","sources":["../../../server/service/pallet/pallet-query.ts"],"names":[],"mappings":";;;;;AAAA,+CAAmF;AACnF,qCAAuC;AAEvC,yDAAgD;AAChD,iDAA4E;AAE5E,qCAAiC;AACjC,iDAA2D;AAG3D,IAAa,WAAW,GAAxB,MAAa,WAAW;IAEtB,KAAK,CAAC,OAAO,CAAS,MAAiB,EAAS,OAAY;QAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE;YACnE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,YAAY;aACpB,CAAC,CAAA;SACH;QAED,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7D,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAC,YAAY,iCAC1D,eAAe,KAClB,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,IAC9D,CAAA;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGD,KAAK,CAAC,MAAM,CAAc,IAAY,EAAS,OAAY;QACzD,MAAM,EAAE,MAAM,EAAE,GAAuB,OAAO,CAAC,KAAK,CAAA;QAEpD,IAAI,OAAO,GAAG,MAAM,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAC,OAAO,CAAC;YAChD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;YAC/B,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;SAC/D,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC;IAGD,KAAK,CAAC,qBAAqB,CAAc,IAAY,EAAS,OAAY;;QACxE,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAuB,OAAO,CAAC,KAAK,CAAA;YAEpD,IAAI,IAAI,GAAG,MAAM,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAC,OAAO,CAAC;gBAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC/B,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;aAC/D,CAAC,CAAA;YACF,IAAI,CAAC,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,QAAQ;gBAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;YACpE,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,EAAE,OAAK,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,EAAE,CAAA;gBAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAA;YAC1F,OAAO,EAAE,IAAI,EAAE,CAAA;SAChB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAGD,KAAK,CAAC,sBAAsB,CAAc,IAAY,EAAS,OAAY;;QACzE,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAuB,OAAO,CAAC,KAAK,CAAA;YAEpD,IAAI,IAAI,GAAG,MAAM,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAC,OAAO,CAAC;gBAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC/B,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;aAC/D,CAAC,CAAA;YACF,IAAI,CAAC,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,QAAQ;gBAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;YACpE,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,EAAE,MAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,EAAE,CAAA;gBAAE,OAAO,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAA;YACrF,OAAO,EAAE,IAAI,EAAE,CAAA;SAChB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAGD,KAAK,CAAC,cAAc,CACL,IAAY,EACV,MAAc,EACtB,OAAY;QAEnB,MAAM,EAAE,MAAM,EAAE,GAAuB,OAAO,CAAC,KAAK,CAAA;QAEpD,IAAI,OAAO,GAAG,MAAM,IAAA,uBAAa,EAAC,eAAM,CAAC,CAAC,OAAO,CAAC;YAChD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;YACvC,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;SAC/D,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAChB,CAAC;IAGD,KAAK,CAAC,MAAM,CAAS,MAAc;QACjC,OAAO,MAAM,IAAA,uBAAa,EAAC,cAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAGD,KAAK,CAAC,OAAO,CAAS,MAAc;QAClC,OAAO,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC5D,CAAC;IAGD,KAAK,CAAC,OAAO,CAAS,MAAc;QAClC,OAAO,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC5D,CAAC;CACF,CAAA;AA9FC;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,yBAAU,CAAC;IACd,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;iEAAjB,iBAAS,oBAAT,iBAAS;;0CAiBtC;AAGD;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,eAAM,CAAC;IACX,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;yCAQ7C;AAGD;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,6BAAc,CAAC;IACJ,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;wDAc5D;AAGD;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,6BAAc,CAAC;IACH,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;yDAc7D;AAGD;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,eAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAE1C,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,QAAQ,CAAC,CAAA;IACb,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iDAUP;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAS,eAAM;;yCAElC;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAS,eAAM;;0CAEnC;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAS,eAAM;;0CAEnC;AA/FU,WAAW;IADvB,IAAA,uBAAQ,EAAC,eAAM,CAAC;GACJ,WAAW,CAgGvB;AAhGY,kCAAW","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { getRepository } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { convertListParams, Domain, ListParam } from '@things-factory/shell'\n\nimport { Pallet } from './pallet'\nimport { PalletList, PalletValidate } from './pallet-types'\n\n@Resolver(Pallet)\nexport class PalletQuery {\n @Query(returns => PalletList)\n async pallets(@Args() params: ListParam, @Ctx() context: any): Promise<PalletList> {\n const { domain } = context.state\n\n if (!params.filters.find((filter: any) => filter.name === 'status')) {\n params.filters.push({\n name: 'status',\n operator: 'noteq',\n value: 'TERMINATED'\n })\n }\n\n const convertedParams = convertListParams(params, { domain })\n const [items, total] = await getRepository(Pallet).findAndCount({\n ...convertedParams,\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n return { items, total }\n }\n\n @Query(returns => Pallet)\n async pallet(@Arg('name') name: string, @Ctx() context: any): Promise<Pallet> {\n const { domain }: { domain: Domain } = context.state\n\n let records = await getRepository(Pallet).findOne({\n where: { domain: domain, name },\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n return records\n }\n\n @Query(returns => PalletValidate)\n async palletInboundValidate(@Arg('name') name: string, @Ctx() context: any): Promise<PalletValidate> {\n try {\n const { domain }: { domain: Domain } = context.state\n\n let item = await getRepository(Pallet).findOne({\n where: { domain: domain, name },\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n if (!item || item?.status != 'ACTIVE') return { error: 'Not found' }\n if (item?.owner?.id === item?.holder?.id) return { error: 'Pallet already in warehouse!' }\n return { item }\n } catch (error) {\n throw error\n }\n }\n\n @Query(returns => PalletValidate)\n async palletOutboundValidate(@Arg('name') name: string, @Ctx() context: any): Promise<PalletValidate> {\n try {\n const { domain }: { domain: Domain } = context.state\n\n let item = await getRepository(Pallet).findOne({\n where: { domain: domain, name },\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n if (!item || item?.status != 'ACTIVE') return { error: 'Not found' }\n if (item?.owner?.id != item?.holder?.id) return { error: 'Pallet not in warehouse!' }\n return { item }\n } catch (error) {\n throw error\n }\n }\n\n @Query(returns => Pallet, { nullable: true })\n async palletByStatus(\n @Arg('name') name: string,\n @Arg('status') status: string,\n @Ctx() context: any\n ): Promise<Pallet | boolean> {\n const { domain }: { domain: Domain } = context.state\n\n let records = await getRepository(Pallet).findOne({\n where: { domain: domain, name, status },\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n\n return records\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() pallet: Pallet) {\n return await getRepository(Domain).findOne(pallet.domainId)\n }\n\n @FieldResolver(type => User)\n async updater(@Root() pallet: Pallet) {\n return await getRepository(User).findOne(pallet.updaterId)\n }\n\n @FieldResolver(type => User)\n async creator(@Root() pallet: Pallet) {\n return await getRepository(User).findOne(pallet.creatorId)\n }\n}\n"]}
1
+ {"version":3,"file":"pallet-query.js","sourceRoot":"","sources":["../../../server/service/pallet/pallet-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { convertListParams, Domain, getRepository, ListParam } from '@things-factory/shell'\n\nimport { Pallet } from './pallet'\nimport { PalletList, PalletValidate } from './pallet-types'\n\n@Resolver(Pallet)\nexport class PalletQuery {\n @Query(returns => PalletList)\n async pallets(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<PalletList> {\n const { domain } = context.state\n\n if (!params.filters.find((filter: any) => filter.name === 'status')) {\n params.filters.push({\n name: 'status',\n operator: 'noteq',\n value: 'TERMINATED'\n })\n }\n\n const convertedParams = convertListParams(params, { domain })\n const [items, total] = await getRepository(Pallet).findAndCount({\n ...convertedParams,\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n return { items, total }\n }\n\n @Query(returns => Pallet)\n async pallet(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Pallet> {\n const { domain } = context.state\n\n let records = await getRepository(Pallet).findOne({\n where: { domain: domain, name },\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n return records\n }\n\n @Query(returns => PalletValidate)\n async palletInboundValidate(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<PalletValidate> {\n try {\n const { domain } = context.state\n\n let item = await getRepository(Pallet).findOne({\n where: { domain: domain, name },\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n if (!item || item?.status != 'ACTIVE') return { error: 'Not found' }\n if (item?.owner?.id === item?.holder?.id) return { error: 'Pallet already in warehouse!' }\n return { item }\n } catch (error) {\n throw error\n }\n }\n\n @Query(returns => PalletValidate)\n async palletOutboundValidate(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<PalletValidate> {\n try {\n const { domain } = context.state\n\n let item = await getRepository(Pallet).findOne({\n where: { domain: domain, name },\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n if (!item || item?.status != 'ACTIVE') return { error: 'Not found' }\n if (item?.owner?.id != item?.holder?.id) return { error: 'Pallet not in warehouse!' }\n return { item }\n } catch (error) {\n throw error\n }\n }\n\n @Query(returns => Pallet, { nullable: true })\n async palletByStatus(\n @Arg('name') name: string,\n @Arg('status') status: string,\n @Ctx() context: ResolverContext\n ): Promise<Pallet | boolean> {\n const { domain } = context.state\n\n let records = await getRepository(Pallet).findOne({\n where: { domain: domain, name, status },\n relations: ['owner', 'holder', 'domain', 'creator', 'updater']\n })\n\n return records\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() pallet: Pallet) {\n return await getRepository(Domain).findOneBy({ id: pallet.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() pallet: Pallet) {\n return await getRepository(User).findOneBy({ id: pallet.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() pallet: Pallet) {\n return await getRepository(User).findOneBy({ id: pallet.creatorId })\n }\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a, _b, _c, _d, _e;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.PalletValidate = exports.PalletPatch = exports.PalletList = exports.NewPallet = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -18,11 +17,11 @@ tslib_1.__decorate([
18
17
  ], NewPallet.prototype, "seq", void 0);
19
18
  tslib_1.__decorate([
20
19
  (0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
21
- tslib_1.__metadata("design:type", typeof (_a = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _a : Object)
20
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
22
21
  ], NewPallet.prototype, "owner", void 0);
23
22
  tslib_1.__decorate([
24
23
  (0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
25
- tslib_1.__metadata("design:type", typeof (_b = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _b : Object)
24
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
26
25
  ], NewPallet.prototype, "holder", void 0);
27
26
  tslib_1.__decorate([
28
27
  (0, type_graphql_1.Field)({ nullable: true }),
@@ -62,15 +61,15 @@ tslib_1.__decorate([
62
61
  ], PalletPatch.prototype, "seq", void 0);
63
62
  tslib_1.__decorate([
64
63
  (0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
65
- tslib_1.__metadata("design:type", typeof (_c = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _c : Object)
64
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
66
65
  ], PalletPatch.prototype, "owner", void 0);
67
66
  tslib_1.__decorate([
68
67
  (0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
69
- tslib_1.__metadata("design:type", typeof (_d = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _d : Object)
68
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
70
69
  ], PalletPatch.prototype, "holder", void 0);
71
70
  tslib_1.__decorate([
72
71
  (0, type_graphql_1.Field)(type => shell_1.ObjectRef, { nullable: true }),
73
- tslib_1.__metadata("design:type", typeof (_e = typeof shell_1.ObjectRef !== "undefined" && shell_1.ObjectRef) === "function" ? _e : Object)
72
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
74
73
  ], PalletPatch.prototype, "inventory", void 0);
75
74
  tslib_1.__decorate([
76
75
  (0, type_graphql_1.Field)({ nullable: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"pallet-types.js","sourceRoot":"","sources":["../../../server/service/pallet/pallet-types.ts"],"names":[],"mappings":";;;;;AAAA,+CAAgE;AAEhE,iDAAiD;AAEjD,qCAAiC;AAGjC,IAAa,SAAS,GAAtB,MAAa,SAAS;CAerB,CAAA;AAbC;IADC,IAAA,oBAAK,GAAE;;uCACI;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC3B;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACrC,iBAAS,oBAAT,iBAAS;wCAAA;AAGjB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACpC,iBAAS,oBAAT,iBAAS;yCAAA;AAGlB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACX;AAdJ,SAAS;IADrB,IAAA,wBAAS,GAAE;GACC,SAAS,CAerB;AAfY,8BAAS;AAkBtB,IAAa,UAAU,GAAvB,MAAa,UAAU;CAMtB,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,eAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCAC5B;AAGhB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACzB;AALH,UAAU;IADtB,IAAA,yBAAU,GAAE;GACA,UAAU,CAMtB;AANY,gCAAU;AASvB,IAAa,WAAW,GAAxB,MAAa,WAAW;CAwBvB,CAAA;AAtBC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACf;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACb;AAGb;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCAC3B;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACrC,iBAAS,oBAAT,iBAAS;0CAAA;AAGjB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACpC,iBAAS,oBAAT,iBAAS;2CAAA;AAGlB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;0DACjC,iBAAS,oBAAT,iBAAS;8CAAA;AAGrB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACX;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACX;AAvBJ,WAAW;IADvB,IAAA,wBAAS,GAAE;GACC,WAAW,CAwBvB;AAxBY,kCAAW;AA2BxB,IAAa,cAAc,GAA3B,MAAa,cAAc;CAM1B,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,eAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACnC,eAAM;4CAAA;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACZ;AALH,cAAc;IAD1B,IAAA,yBAAU,GAAE;GACA,cAAc,CAM1B;AANY,wCAAc","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { Pallet } from './pallet'\n\n@InputType()\nexport class NewPallet {\n @Field()\n name: string\n\n @Field(type => Int, { nullable: true })\n seq?: number\n\n @Field(type => ObjectRef, { nullable: true })\n owner?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n holder?: ObjectRef\n\n @Field({ nullable: true })\n status?: string\n}\n\n@ObjectType()\nexport class PalletList {\n @Field(type => [Pallet], { nullable: true })\n items?: Pallet[]\n\n @Field(type => Int, { nullable: true })\n total?: number\n}\n\n@InputType()\nexport class PalletPatch {\n @Field({ nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field(type => Int, { nullable: true })\n seq?: number\n\n @Field(type => ObjectRef, { nullable: true })\n owner?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n holder?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n inventory?: ObjectRef\n\n @Field({ nullable: true })\n status?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class PalletValidate {\n @Field(type => Pallet, { nullable: true })\n item?: Pallet\n\n @Field({ nullable: true })\n error?: string\n}\n"]}
1
+ {"version":3,"file":"pallet-types.js","sourceRoot":"","sources":["../../../server/service/pallet/pallet-types.ts"],"names":[],"mappings":";;;;AAAA,+CAAgE;AAEhE,iDAAiD;AAEjD,qCAAiC;AAGjC,IAAa,SAAS,GAAtB,MAAa,SAAS;CAerB,CAAA;AAbC;IADC,IAAA,oBAAK,GAAE;;uCACI;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC3B;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACrC,iBAAS;wCAAA;AAGjB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACpC,iBAAS;yCAAA;AAGlB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACX;AAdJ,SAAS;IADrB,IAAA,wBAAS,GAAE;GACC,SAAS,CAerB;AAfY,8BAAS;AAkBtB,IAAa,UAAU,GAAvB,MAAa,UAAU;CAMtB,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,eAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCAC5B;AAGhB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACzB;AALH,UAAU;IADtB,IAAA,yBAAU,GAAE;GACA,UAAU,CAMtB;AANY,gCAAU;AASvB,IAAa,WAAW,GAAxB,MAAa,WAAW;CAwBvB,CAAA;AAtBC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACf;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACb;AAGb;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCAC3B;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACrC,iBAAS;0CAAA;AAGjB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACpC,iBAAS;2CAAA;AAGlB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjC,iBAAS;8CAAA;AAGrB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACX;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACX;AAvBJ,WAAW;IADvB,IAAA,wBAAS,GAAE;GACC,WAAW,CAwBvB;AAxBY,kCAAW;AA2BxB,IAAa,cAAc,GAA3B,MAAa,cAAc;CAM1B,CAAA;AAJC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,eAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACnC,eAAM;4CAAA;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACZ;AALH,cAAc;IAD1B,IAAA,yBAAU,GAAE;GACA,cAAc,CAM1B;AANY,wCAAc","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\n\nimport { ObjectRef } from '@things-factory/shell'\n\nimport { Pallet } from './pallet'\n\n@InputType()\nexport class NewPallet {\n @Field()\n name: string\n\n @Field(type => Int, { nullable: true })\n seq?: number\n\n @Field(type => ObjectRef, { nullable: true })\n owner?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n holder?: ObjectRef\n\n @Field({ nullable: true })\n status?: string\n}\n\n@ObjectType()\nexport class PalletList {\n @Field(type => [Pallet], { nullable: true })\n items?: Pallet[]\n\n @Field(type => Int, { nullable: true })\n total?: number\n}\n\n@InputType()\nexport class PalletPatch {\n @Field({ nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field(type => Int, { nullable: true })\n seq?: number\n\n @Field(type => ObjectRef, { nullable: true })\n owner?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n holder?: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n inventory?: ObjectRef\n\n @Field({ nullable: true })\n status?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class PalletValidate {\n @Field(type => Pallet, { nullable: true })\n item?: Pallet\n\n @Field({ nullable: true })\n error?: string\n}\n"]}