@rytass/wms-module-graphql 0.11.1 → 0.12.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 (173) hide show
  1. package/README.md +19 -0
  2. package/docs/README.md +5 -2
  3. package/docs/api-reference.md +10 -8
  4. package/docs/integration-guide.md +34 -17
  5. package/docs/inventory-count.md +372 -0
  6. package/index.cjs.js +10 -0
  7. package/lib/inputs/index.d.ts +0 -0
  8. package/lib/inputs/inventory-count-order.args.d.ts +6 -0
  9. package/package.json +8 -29
  10. package/adapters/event-emitter.d.mts +0 -6
  11. package/adapters/event-emitter.mjs +0 -41
  12. package/adapters/member-base.d.mts +0 -6
  13. package/adapters/member-base.mjs +0 -63
  14. package/index.d.mts +0 -6
  15. package/index.mjs +0 -12
  16. package/lib/auth/host-skip.constant.mjs +0 -29
  17. package/lib/auth/wms-auth.guard.mjs +0 -41
  18. package/lib/auth/wms-auth.types.mjs +0 -6
  19. package/lib/auth/wms-operation.decorator.mjs +0 -29
  20. package/lib/dto/allocate-inventory-order-item.dto.mjs +0 -36
  21. package/lib/dto/allocate-inventory-order.dto.mjs +0 -31
  22. package/lib/dto/batch.dto.mjs +0 -26
  23. package/lib/dto/consumption-order-item.dto.mjs +0 -43
  24. package/lib/dto/consumption-order.dto.mjs +0 -52
  25. package/lib/dto/hold-inventory-order-item.dto.mjs +0 -37
  26. package/lib/dto/hold-inventory-order.dto.mjs +0 -47
  27. package/lib/dto/inventory-count-order.dto.mjs +0 -207
  28. package/lib/dto/loader-type.dto.mjs +0 -46
  29. package/lib/dto/loader-unit.dto.mjs +0 -21
  30. package/lib/dto/loader.dto.mjs +0 -71
  31. package/lib/dto/location.dto.mjs +0 -36
  32. package/lib/dto/material-unit.dto.mjs +0 -46
  33. package/lib/dto/material.dto.mjs +0 -36
  34. package/lib/dto/merge-batch-order.dto.mjs +0 -50
  35. package/lib/dto/order-reference.dto.mjs +0 -73
  36. package/lib/dto/pagination.dto.mjs +0 -51
  37. package/lib/dto/quality-inspection-order-item.dto.mjs +0 -50
  38. package/lib/dto/quality-inspection-order.dto.mjs +0 -42
  39. package/lib/dto/receive-inventory-order-item.dto.mjs +0 -60
  40. package/lib/dto/receive-inventory-order.dto.mjs +0 -58
  41. package/lib/dto/reclassify-inventory-order.dto.mjs +0 -55
  42. package/lib/dto/sale-order.dto.mjs +0 -20
  43. package/lib/dto/scrape-order-item.dto.mjs +0 -56
  44. package/lib/dto/scrape-order.dto.mjs +0 -37
  45. package/lib/dto/ship-inventory-order-item.dto.mjs +0 -56
  46. package/lib/dto/ship-inventory-order-reference.dto.mjs +0 -48
  47. package/lib/dto/ship-inventory-order.dto.mjs +0 -58
  48. package/lib/dto/split-batch-order.dto.mjs +0 -50
  49. package/lib/dto/stock.dto.mjs +0 -166
  50. package/lib/dto/transfer-customer-order-item.dto.mjs +0 -61
  51. package/lib/dto/transfer-customer-order.dto.mjs +0 -37
  52. package/lib/dto/transfer-order-item.dto.mjs +0 -41
  53. package/lib/dto/transfer-order.dto.mjs +0 -57
  54. package/lib/dto/transfer-vendor-order-item.dto.mjs +0 -61
  55. package/lib/dto/transfer-vendor-order.dto.mjs +0 -37
  56. package/lib/dto/unit.dto.mjs +0 -20
  57. package/lib/dto/warehouse-map.dto.mjs +0 -165
  58. package/lib/events/wms-mutation-event.constants.mjs +0 -4
  59. package/lib/events/wms-mutation-event.decorator.mjs +0 -20
  60. package/lib/events/wms-mutation.interceptor.mjs +0 -64
  61. package/lib/graphql.module.mjs +0 -183
  62. package/lib/helpers/create-wms-loaders.mjs +0 -11
  63. package/lib/helpers/helper.module.mjs +0 -15
  64. package/lib/helpers/loader.service.mjs +0 -230
  65. package/lib/helpers/query-path.mjs +0 -19
  66. package/lib/inputs/cancel-ship-order.args.mjs +0 -20
  67. package/lib/inputs/cancel-transfer-order.args.mjs +0 -23
  68. package/lib/inputs/consumption-order.args.mjs +0 -182
  69. package/lib/inputs/create-allocate-inventory-order-item.args.mjs +0 -50
  70. package/lib/inputs/create-allocate-inventory-order.args.mjs +0 -36
  71. package/lib/inputs/create-hold-inventory-order-item.args.mjs +0 -40
  72. package/lib/inputs/create-hold-inventory-order.args.mjs +0 -41
  73. package/lib/inputs/create-loader-type.args.mjs +0 -35
  74. package/lib/inputs/create-loader.args.mjs +0 -130
  75. package/lib/inputs/create-location.args.mjs +0 -50
  76. package/lib/inputs/create-material-unit.args.mjs +0 -25
  77. package/lib/inputs/create-material.args.mjs +0 -51
  78. package/lib/inputs/create-quality-inspection-order.args.mjs +0 -50
  79. package/lib/inputs/create-receive-inventory-order-item.args.mjs +0 -70
  80. package/lib/inputs/create-receive-inventory-order.args.mjs +0 -51
  81. package/lib/inputs/create-ship-inventory-order-item.args.mjs +0 -45
  82. package/lib/inputs/create-ship-inventory-order-reference.args.mjs +0 -65
  83. package/lib/inputs/create-ship-inventory-order.args.mjs +0 -57
  84. package/lib/inputs/create-transfer-customer-order-item.args.mjs +0 -40
  85. package/lib/inputs/create-transfer-customer-order.args.mjs +0 -51
  86. package/lib/inputs/create-transfer-order-item.args.mjs +0 -40
  87. package/lib/inputs/create-transfer-order.args.mjs +0 -61
  88. package/lib/inputs/create-transfer-vendor-order-item.args.mjs +0 -40
  89. package/lib/inputs/create-transfer-vendor-order.args.mjs +0 -51
  90. package/lib/inputs/date-range.args.mjs +0 -20
  91. package/lib/inputs/deallocate-order.args.mjs +0 -25
  92. package/lib/inputs/find-allocate-inventory-order.args.mjs +0 -42
  93. package/lib/inputs/find-batch.args.mjs +0 -21
  94. package/lib/inputs/find-hold-inventory-order.args.mjs +0 -42
  95. package/lib/inputs/find-loader-type.args.mjs +0 -32
  96. package/lib/inputs/find-loader.args.mjs +0 -72
  97. package/lib/inputs/find-location.args.mjs +0 -26
  98. package/lib/inputs/find-material.args.mjs +0 -21
  99. package/lib/inputs/find-receive-inventory-order.args.mjs +0 -71
  100. package/lib/inputs/find-sale-order.args.mjs +0 -16
  101. package/lib/inputs/find-ship-inventory-order.args.mjs +0 -71
  102. package/lib/inputs/find-stock.args.mjs +0 -102
  103. package/lib/inputs/find-transfer-order.args.mjs +0 -82
  104. package/lib/inputs/inventory-count-order.args.mjs +0 -257
  105. package/lib/inputs/merge-batch.args.mjs +0 -40
  106. package/lib/inputs/order-reference.args.mjs +0 -103
  107. package/lib/inputs/pagination.args.mjs +0 -20
  108. package/lib/inputs/receive-order.args.mjs +0 -40
  109. package/lib/inputs/reclassify-inventory-order.args.mjs +0 -40
  110. package/lib/inputs/release-order.args.mjs +0 -25
  111. package/lib/inputs/return-transfer-customer-order.args.mjs +0 -35
  112. package/lib/inputs/return-transfer-vendor-order.args.mjs +0 -35
  113. package/lib/inputs/scrape-order.args.mjs +0 -35
  114. package/lib/inputs/ship-order.args.mjs +0 -20
  115. package/lib/inputs/split-batch.args.mjs +0 -51
  116. package/lib/inputs/transfer-order.args.mjs +0 -20
  117. package/lib/inputs/update-warehouse-map.args.mjs +0 -121
  118. package/lib/mutations/allocate-inventory-order.mutation.mjs +0 -91
  119. package/lib/mutations/consumption-order.mutation.mjs +0 -90
  120. package/lib/mutations/hold-inventory-order.mutation.mjs +0 -91
  121. package/lib/mutations/inventory-count-order.mutation.mjs +0 -138
  122. package/lib/mutations/loader.mutation.mjs +0 -123
  123. package/lib/mutations/location.mutation.mjs +0 -47
  124. package/lib/mutations/material.mutation.mjs +0 -74
  125. package/lib/mutations/merge-batch.mutation.mjs +0 -50
  126. package/lib/mutations/order-reference.mutation.mjs +0 -57
  127. package/lib/mutations/quality-inspection-order.mutation.mjs +0 -50
  128. package/lib/mutations/receive-inventory-order.mutation.mjs +0 -106
  129. package/lib/mutations/reclassify-inventory-order.mutation.mjs +0 -51
  130. package/lib/mutations/scrape-order.mutation.mjs +0 -44
  131. package/lib/mutations/ship-inventory-order.mutation.mjs +0 -123
  132. package/lib/mutations/split-batch.mutation.mjs +0 -44
  133. package/lib/mutations/transfer-customer-order.mutation.mjs +0 -91
  134. package/lib/mutations/transfer-order.mutation.mjs +0 -96
  135. package/lib/mutations/transfer-vendor-order.mutation.mjs +0 -91
  136. package/lib/mutations/warehouse-map.mutation.mjs +0 -60
  137. package/lib/queries/allocate-inventory-order.query.mjs +0 -33
  138. package/lib/queries/batch.query.mjs +0 -36
  139. package/lib/queries/consumption-order.query.mjs +0 -45
  140. package/lib/queries/hold-inventory-order.query.mjs +0 -33
  141. package/lib/queries/inventory-count-order.query.mjs +0 -63
  142. package/lib/queries/loader.query.mjs +0 -167
  143. package/lib/queries/location.query.mjs +0 -51
  144. package/lib/queries/material.query.mjs +0 -79
  145. package/lib/queries/order-reference.query.mjs +0 -34
  146. package/lib/queries/recieve-inventory-order.query.mjs +0 -77
  147. package/lib/queries/sale-order.query.mjs +0 -57
  148. package/lib/queries/ship-inventory-order.query.mjs +0 -77
  149. package/lib/queries/stock.query.mjs +0 -116
  150. package/lib/queries/transfer-order.query.mjs +0 -46
  151. package/lib/queries/unit.query.mjs +0 -30
  152. package/lib/queries/warehouse-map.query.mjs +0 -32
  153. package/lib/registry/operation-registry.mjs +0 -136
  154. package/lib/resolvers/aggregated-stock.resolver.mjs +0 -119
  155. package/lib/resolvers/allocate-inventory-order.resolver.mjs +0 -27
  156. package/lib/resolvers/change-log.resolver.mjs +0 -99
  157. package/lib/resolvers/consumption-order.resolver.mjs +0 -238
  158. package/lib/resolvers/hold-inventory-order.resolver.mjs +0 -27
  159. package/lib/resolvers/inventory-count-order.resolver.mjs +0 -148
  160. package/lib/resolvers/loader-type.resolver.mjs +0 -54
  161. package/lib/resolvers/loader.resolver.mjs +0 -99
  162. package/lib/resolvers/location.resolver.mjs +0 -80
  163. package/lib/resolvers/material.resolver.mjs +0 -87
  164. package/lib/resolvers/merge-batch.resolver.mjs +0 -26
  165. package/lib/resolvers/receive-inventory-order.resolver.mjs +0 -156
  166. package/lib/resolvers/ship-inventory-order.resolver.mjs +0 -301
  167. package/lib/resolvers/split-batch.resolver.mjs +0 -26
  168. package/lib/resolvers/stock.resolver.mjs +0 -99
  169. package/lib/resolvers/transfer-customer-order.resolver.mjs +0 -27
  170. package/lib/resolvers/transfer-order.resolver.mjs +0 -246
  171. package/lib/resolvers/transfer-vendor-order.resolver.mjs +0 -27
  172. package/lib/resolvers/warehouse-map.resolver.mjs +0 -41
  173. package/lib/scalars/json-object.scalar.mjs +0 -62
@@ -1,99 +0,0 @@
1
- import { __decorate, __param, __metadata } from 'tslib';
2
- import { ResolveField, Parent, Context, Resolver } from '@nestjs/graphql';
3
- import '../dto/loader-type.dto.mjs';
4
- import '../dto/loader.dto.mjs';
5
- import { MaterialDto } from '../dto/material.dto.mjs';
6
- import '../dto/material-unit.dto.mjs';
7
- import { StockDto } from '../dto/stock.dto.mjs';
8
- import '../dto/sale-order.dto.mjs';
9
- import '../dto/receive-inventory-order.dto.mjs';
10
- import '../dto/receive-inventory-order-item.dto.mjs';
11
- import '../dto/ship-inventory-order.dto.mjs';
12
- import '../dto/ship-inventory-order-item.dto.mjs';
13
- import '../dto/hold-inventory-order.dto.mjs';
14
- import '../dto/hold-inventory-order-item.dto.mjs';
15
- import '../dto/allocate-inventory-order.dto.mjs';
16
- import '../dto/allocate-inventory-order-item.dto.mjs';
17
- import '../dto/transfer-order.dto.mjs';
18
- import '../dto/transfer-order-item.dto.mjs';
19
- import '../dto/transfer-customer-order.dto.mjs';
20
- import '../dto/transfer-customer-order-item.dto.mjs';
21
- import '../dto/transfer-vendor-order.dto.mjs';
22
- import '../dto/transfer-vendor-order-item.dto.mjs';
23
- import '../dto/scrape-order.dto.mjs';
24
- import '../dto/scrape-order-item.dto.mjs';
25
- import '../dto/quality-inspection-order.dto.mjs';
26
- import '../dto/quality-inspection-order-item.dto.mjs';
27
- import '../dto/inventory-count-order.dto.mjs';
28
- import '../dto/consumption-order.dto.mjs';
29
- import '../dto/consumption-order-item.dto.mjs';
30
- import '../dto/order-reference.dto.mjs';
31
- import { StockEntityClass, WmsEntities, BatchGroupEntityClass } from '@rytass/wms-module-core';
32
- import { LocationDto } from '../dto/location.dto.mjs';
33
- import { BatchDto } from '../dto/batch.dto.mjs';
34
-
35
- let StockResolver = class StockResolver {
36
- entities;
37
- /**
38
- * The configured entities, not the built-in classes: `__entity` decides which
39
- * repository the DataLoader opens, so it has to follow whatever the consumer
40
- * passed to `WMSBaseModuleOptions`. Loading a built-in class outright filters
41
- * on its single-table-inheritance discriminator and resolves nothing for an
42
- * override.
43
- */
44
- constructor(entities) {
45
- this.entities = entities;
46
- }
47
- material({ materialId }, { loaders }) {
48
- return loaders.batchSingle.load({
49
- __entity: this.entities.material,
50
- __from: { id: materialId },
51
- });
52
- }
53
- location({ locationId }, { loaders }) {
54
- return loaders.batchSingle.load({
55
- __entity: this.entities.location,
56
- __from: { id: locationId },
57
- });
58
- }
59
- async batch({ batchId }, { loaders }) {
60
- const { groupId } = await loaders.batchSingle.load({
61
- __entity: this.entities.batch,
62
- __from: { id: batchId },
63
- });
64
- return loaders.batchSingle.load({
65
- __entity: BatchGroupEntityClass,
66
- __from: { id: groupId },
67
- });
68
- }
69
- };
70
- __decorate([
71
- ResolveField(() => MaterialDto),
72
- __param(0, Parent()),
73
- __param(1, Context()),
74
- __metadata("design:type", Function),
75
- __metadata("design:paramtypes", [StockEntityClass, Object]),
76
- __metadata("design:returntype", Promise)
77
- ], StockResolver.prototype, "material", null);
78
- __decorate([
79
- ResolveField(() => LocationDto),
80
- __param(0, Parent()),
81
- __param(1, Context()),
82
- __metadata("design:type", Function),
83
- __metadata("design:paramtypes", [StockEntityClass, Object]),
84
- __metadata("design:returntype", Promise)
85
- ], StockResolver.prototype, "location", null);
86
- __decorate([
87
- ResolveField(() => BatchDto),
88
- __param(0, Parent()),
89
- __param(1, Context()),
90
- __metadata("design:type", Function),
91
- __metadata("design:paramtypes", [StockEntityClass, Object]),
92
- __metadata("design:returntype", Promise)
93
- ], StockResolver.prototype, "batch", null);
94
- StockResolver = __decorate([
95
- Resolver(() => StockDto),
96
- __metadata("design:paramtypes", [WmsEntities])
97
- ], StockResolver);
98
-
99
- export { StockResolver };
@@ -1,27 +0,0 @@
1
- import { __decorate, __param, __metadata } from 'tslib';
2
- import { ResolveField, Parent, Context, Resolver } from '@nestjs/graphql';
3
- import { TransferCustomerOrderDto } from '../dto/transfer-customer-order.dto.mjs';
4
- import { TransferCustomerOrderItemDto } from '../dto/transfer-customer-order-item.dto.mjs';
5
- import { TransferCustomerOrderEntityClass, TransferCustomerOrderItemEntityClass } from '@rytass/wms-module-core';
6
-
7
- let TransferCustomerOrderResolver = class TransferCustomerOrderResolver {
8
- items({ id }, { loaders }) {
9
- return loaders.batchMany.load({
10
- __entity: TransferCustomerOrderItemEntityClass,
11
- __from: { orderId: id },
12
- });
13
- }
14
- };
15
- __decorate([
16
- ResolveField(() => [TransferCustomerOrderItemDto]),
17
- __param(0, Parent()),
18
- __param(1, Context()),
19
- __metadata("design:type", Function),
20
- __metadata("design:paramtypes", [TransferCustomerOrderEntityClass, Object]),
21
- __metadata("design:returntype", Promise)
22
- ], TransferCustomerOrderResolver.prototype, "items", null);
23
- TransferCustomerOrderResolver = __decorate([
24
- Resolver(() => TransferCustomerOrderDto)
25
- ], TransferCustomerOrderResolver);
26
-
27
- export { TransferCustomerOrderResolver };
@@ -1,246 +0,0 @@
1
- import { __decorate, __param, __metadata } from 'tslib';
2
- import { ResolveField, Parent, Context, Resolver, ID, Int } from '@nestjs/graphql';
3
- import { TransferOrderDto } from '../dto/transfer-order.dto.mjs';
4
- import { TransferOrderItemDto } from '../dto/transfer-order-item.dto.mjs';
5
- import { WmsEntities, TransferOrderItemEntityClass, LoadersEntityClass, BatchGroupEntityClass, TransferOrderChangeEntityClass } from '@rytass/wms-module-core';
6
- import '../dto/loader-type.dto.mjs';
7
- import { LoaderDto } from '../dto/loader.dto.mjs';
8
- import { MaterialDto } from '../dto/material.dto.mjs';
9
- import '../dto/material-unit.dto.mjs';
10
- import '../dto/stock.dto.mjs';
11
- import '../dto/sale-order.dto.mjs';
12
- import '../dto/receive-inventory-order.dto.mjs';
13
- import '../dto/receive-inventory-order-item.dto.mjs';
14
- import '../dto/ship-inventory-order.dto.mjs';
15
- import '../dto/ship-inventory-order-item.dto.mjs';
16
- import '../dto/hold-inventory-order.dto.mjs';
17
- import '../dto/hold-inventory-order-item.dto.mjs';
18
- import '../dto/allocate-inventory-order.dto.mjs';
19
- import '../dto/allocate-inventory-order-item.dto.mjs';
20
- import '../dto/transfer-customer-order.dto.mjs';
21
- import '../dto/transfer-customer-order-item.dto.mjs';
22
- import '../dto/transfer-vendor-order.dto.mjs';
23
- import '../dto/transfer-vendor-order-item.dto.mjs';
24
- import '../dto/scrape-order.dto.mjs';
25
- import '../dto/scrape-order-item.dto.mjs';
26
- import '../dto/quality-inspection-order.dto.mjs';
27
- import '../dto/quality-inspection-order-item.dto.mjs';
28
- import '../dto/inventory-count-order.dto.mjs';
29
- import '../dto/consumption-order.dto.mjs';
30
- import '../dto/consumption-order-item.dto.mjs';
31
- import '../dto/order-reference.dto.mjs';
32
- import { BatchDto } from '../dto/batch.dto.mjs';
33
- import { LocationDto } from '../dto/location.dto.mjs';
34
-
35
- let TransferOrderResolver = class TransferOrderResolver {
36
- entities;
37
- /**
38
- * The configured entities, not the built-in classes: `__entity` decides which
39
- * repository the DataLoader opens, so it has to follow whatever the consumer
40
- * passed to `WMSBaseModuleOptions`. Loading a built-in class outright filters
41
- * on its single-table-inheritance discriminator and resolves nothing for an
42
- * override.
43
- */
44
- constructor(entities) {
45
- this.entities = entities;
46
- }
47
- items({ id }, { loaders }) {
48
- return loaders.batchMany.load({
49
- __entity: TransferOrderItemEntityClass,
50
- __from: { orderId: id },
51
- });
52
- }
53
- async targetLocation({ id }, { loaders }, locationLoader) {
54
- const [item] = await loaders.batchMany.load({
55
- __entity: TransferOrderItemEntityClass,
56
- __from: { orderId: id },
57
- });
58
- if (!item?.targetLocationId)
59
- return null;
60
- return locationLoader.loaders.batchSingle.load({
61
- __entity: this.entities.location,
62
- __from: { id: item.targetLocationId },
63
- });
64
- }
65
- async targetLoader({ id }, { loaders }, loaderLoader) {
66
- const [item] = await loaders.batchMany.load({
67
- __entity: TransferOrderItemEntityClass,
68
- __from: { orderId: id },
69
- });
70
- if (!item?.targetLoaderId)
71
- return null;
72
- return loaderLoader.loaders.batchSingle.load({
73
- __entity: LoadersEntityClass,
74
- __from: { id: item.targetLoaderId },
75
- });
76
- }
77
- };
78
- __decorate([
79
- ResolveField(() => [TransferOrderItemDto]),
80
- __param(0, Parent()),
81
- __param(1, Context()),
82
- __metadata("design:type", Function),
83
- __metadata("design:paramtypes", [TransferOrderDto, Object]),
84
- __metadata("design:returntype", Promise)
85
- ], TransferOrderResolver.prototype, "items", null);
86
- __decorate([
87
- ResolveField(() => LocationDto, { nullable: true }),
88
- __param(0, Parent()),
89
- __param(1, Context()),
90
- __param(2, Context()),
91
- __metadata("design:type", Function),
92
- __metadata("design:paramtypes", [TransferOrderDto, Object, Object]),
93
- __metadata("design:returntype", Promise)
94
- ], TransferOrderResolver.prototype, "targetLocation", null);
95
- __decorate([
96
- ResolveField(() => LoaderDto, { nullable: true }),
97
- __param(0, Parent()),
98
- __param(1, Context()),
99
- __param(2, Context()),
100
- __metadata("design:type", Function),
101
- __metadata("design:paramtypes", [TransferOrderDto, Object, Object]),
102
- __metadata("design:returntype", Promise)
103
- ], TransferOrderResolver.prototype, "targetLoader", null);
104
- TransferOrderResolver = __decorate([
105
- Resolver(() => TransferOrderDto),
106
- __metadata("design:paramtypes", [WmsEntities])
107
- ], TransferOrderResolver);
108
- let TransferOrderItemResolver = class TransferOrderItemResolver {
109
- entities;
110
- /**
111
- * The configured entities, not the built-in classes: `__entity` decides which
112
- * repository the DataLoader opens, so it has to follow whatever the consumer
113
- * passed to `WMSBaseModuleOptions`. Loading a built-in class outright filters
114
- * on its single-table-inheritance discriminator and resolves nothing for an
115
- * override.
116
- */
117
- constructor(entities) {
118
- this.entities = entities;
119
- }
120
- material({ materialId }, { loaders }) {
121
- return loaders.batchSingle.load({
122
- __entity: this.entities.material,
123
- __from: { id: materialId },
124
- });
125
- }
126
- async batch({ batchId }, { loaders }) {
127
- if (!batchId)
128
- return null;
129
- const { groupId } = await loaders.batchSingle.load({
130
- __entity: this.entities.batch,
131
- __from: { id: batchId },
132
- });
133
- return loaders.batchSingle.load({
134
- __entity: BatchGroupEntityClass,
135
- __from: { id: groupId },
136
- });
137
- }
138
- async location({ locationId }, { loaders }) {
139
- if (!locationId)
140
- return null;
141
- return loaders.batchSingle.load({
142
- __entity: this.entities.location,
143
- __from: { id: locationId },
144
- });
145
- }
146
- async loader({ loaderId }, { loaders }) {
147
- if (!loaderId)
148
- return null;
149
- return loaders.batchSingle.load({
150
- __entity: LoadersEntityClass,
151
- __from: { id: loaderId },
152
- });
153
- }
154
- async saleId({ batchId }, { loaders }) {
155
- if (!batchId)
156
- return null;
157
- return loaders.batchSingle
158
- .load({
159
- __entity: this.entities.batch,
160
- __from: { id: batchId },
161
- })
162
- .then((batch) => batch.saleId);
163
- }
164
- async saleSerialId({ batchId }, { loaders }) {
165
- if (!batchId)
166
- return null;
167
- return loaders.batchSingle
168
- .load({
169
- __entity: this.entities.batch,
170
- __from: { id: batchId },
171
- })
172
- .then((batch) => batch.saleSerialId);
173
- }
174
- async transferredQuantity({ id }, { loaders }) {
175
- const changes = await loaders.batchMany.load({
176
- __entity: TransferOrderChangeEntityClass,
177
- __from: { itemId: id },
178
- });
179
- return changes.reduce((acc, { quantityChanged }) => {
180
- const qty = Number(quantityChanged);
181
- return qty < 0 ? acc + Math.abs(qty) : acc;
182
- }, 0);
183
- }
184
- };
185
- __decorate([
186
- ResolveField(() => MaterialDto),
187
- __param(0, Parent()),
188
- __param(1, Context()),
189
- __metadata("design:type", Function),
190
- __metadata("design:paramtypes", [TransferOrderItemEntityClass, Object]),
191
- __metadata("design:returntype", Promise)
192
- ], TransferOrderItemResolver.prototype, "material", null);
193
- __decorate([
194
- ResolveField(() => BatchDto, { nullable: true }),
195
- __param(0, Parent()),
196
- __param(1, Context()),
197
- __metadata("design:type", Function),
198
- __metadata("design:paramtypes", [TransferOrderItemEntityClass, Object]),
199
- __metadata("design:returntype", Promise)
200
- ], TransferOrderItemResolver.prototype, "batch", null);
201
- __decorate([
202
- ResolveField(() => LocationDto, { nullable: true }),
203
- __param(0, Parent()),
204
- __param(1, Context()),
205
- __metadata("design:type", Function),
206
- __metadata("design:paramtypes", [TransferOrderItemEntityClass, Object]),
207
- __metadata("design:returntype", Promise)
208
- ], TransferOrderItemResolver.prototype, "location", null);
209
- __decorate([
210
- ResolveField(() => LoaderDto, { nullable: true }),
211
- __param(0, Parent()),
212
- __param(1, Context()),
213
- __metadata("design:type", Function),
214
- __metadata("design:paramtypes", [TransferOrderItemEntityClass, Object]),
215
- __metadata("design:returntype", Promise)
216
- ], TransferOrderItemResolver.prototype, "loader", null);
217
- __decorate([
218
- ResolveField(() => ID, { nullable: true }),
219
- __param(0, Parent()),
220
- __param(1, Context()),
221
- __metadata("design:type", Function),
222
- __metadata("design:paramtypes", [TransferOrderItemEntityClass, Object]),
223
- __metadata("design:returntype", Promise)
224
- ], TransferOrderItemResolver.prototype, "saleId", null);
225
- __decorate([
226
- ResolveField(() => ID, { nullable: true }),
227
- __param(0, Parent()),
228
- __param(1, Context()),
229
- __metadata("design:type", Function),
230
- __metadata("design:paramtypes", [TransferOrderItemEntityClass, Object]),
231
- __metadata("design:returntype", Promise)
232
- ], TransferOrderItemResolver.prototype, "saleSerialId", null);
233
- __decorate([
234
- ResolveField(() => Int),
235
- __param(0, Parent()),
236
- __param(1, Context()),
237
- __metadata("design:type", Function),
238
- __metadata("design:paramtypes", [TransferOrderItemEntityClass, Object]),
239
- __metadata("design:returntype", Promise)
240
- ], TransferOrderItemResolver.prototype, "transferredQuantity", null);
241
- TransferOrderItemResolver = __decorate([
242
- Resolver(() => TransferOrderItemDto),
243
- __metadata("design:paramtypes", [WmsEntities])
244
- ], TransferOrderItemResolver);
245
-
246
- export { TransferOrderItemResolver, TransferOrderResolver };
@@ -1,27 +0,0 @@
1
- import { __decorate, __param, __metadata } from 'tslib';
2
- import { ResolveField, Parent, Context, Resolver } from '@nestjs/graphql';
3
- import { TransferVendorOrderDto } from '../dto/transfer-vendor-order.dto.mjs';
4
- import { TransferVendorOrderItemDto } from '../dto/transfer-vendor-order-item.dto.mjs';
5
- import { TransferVendorOrderEntityClass, TransferVendorOrderItemEntityClass } from '@rytass/wms-module-core';
6
-
7
- let TransferVendorOrderResolver = class TransferVendorOrderResolver {
8
- items({ id }, { loaders }) {
9
- return loaders.batchMany.load({
10
- __entity: TransferVendorOrderItemEntityClass,
11
- __from: { orderId: id },
12
- });
13
- }
14
- };
15
- __decorate([
16
- ResolveField(() => [TransferVendorOrderItemDto]),
17
- __param(0, Parent()),
18
- __param(1, Context()),
19
- __metadata("design:type", Function),
20
- __metadata("design:paramtypes", [TransferVendorOrderEntityClass, Object]),
21
- __metadata("design:returntype", Promise)
22
- ], TransferVendorOrderResolver.prototype, "items", null);
23
- TransferVendorOrderResolver = __decorate([
24
- Resolver(() => TransferVendorOrderDto)
25
- ], TransferVendorOrderResolver);
26
-
27
- export { TransferVendorOrderResolver };
@@ -1,41 +0,0 @@
1
- import { __decorate, __param, __metadata } from 'tslib';
2
- import { ResolveField, Parent, Context, Resolver } from '@nestjs/graphql';
3
- import { LocationDto } from '../dto/location.dto.mjs';
4
- import { WmsEntities } from '@rytass/wms-module-core';
5
- import { MapRangeDto } from '../dto/warehouse-map.dto.mjs';
6
-
7
- let MapRangeUnionResolver = class MapRangeUnionResolver {
8
- entities;
9
- /**
10
- * The configured entities, not the built-in classes: `__entity` decides which
11
- * repository the DataLoader opens, so it has to follow whatever the consumer
12
- * passed to `WMSBaseModuleOptions`. Loading a built-in class outright filters
13
- * on its single-table-inheritance discriminator and resolves nothing for an
14
- * override.
15
- */
16
- constructor(entities) {
17
- this.entities = entities;
18
- }
19
- location({ id }, { loaders }) {
20
- if (!id)
21
- return null;
22
- return loaders.batchSingle.load({
23
- __entity: this.entities.location,
24
- __from: { key: id },
25
- });
26
- }
27
- };
28
- __decorate([
29
- ResolveField(() => LocationDto, { nullable: true }),
30
- __param(0, Parent()),
31
- __param(1, Context()),
32
- __metadata("design:type", Function),
33
- __metadata("design:paramtypes", [MapRangeDto, Object]),
34
- __metadata("design:returntype", void 0)
35
- ], MapRangeUnionResolver.prototype, "location", null);
36
- MapRangeUnionResolver = __decorate([
37
- Resolver(() => MapRangeDto),
38
- __metadata("design:paramtypes", [WmsEntities])
39
- ], MapRangeUnionResolver);
40
-
41
- export { MapRangeUnionResolver };
@@ -1,62 +0,0 @@
1
- import { GraphQLScalarType, Kind, GraphQLError } from 'graphql';
2
-
3
- /**
4
- * A JSON object scalar, defined here rather than pulled from `graphql-type-json`
5
- * so the package keeps its peer dependency list as it is — `graphql` is already
6
- * required, and this is the whole of what we need from such a library.
7
- *
8
- * Deliberately narrower than "any JSON": the values it guards (a batch's
9
- * host-defined `attributes`) are always a keyed record, and refusing a bare
10
- * scalar or array at the edge means every consumer downstream can rely on that
11
- * without re-checking.
12
- */
13
- function parseLiteralValue(node) {
14
- switch (node.kind) {
15
- case Kind.STRING:
16
- case Kind.BOOLEAN:
17
- return node.value;
18
- case Kind.INT:
19
- case Kind.FLOAT:
20
- return Number(node.value);
21
- case Kind.NULL:
22
- return null;
23
- case Kind.LIST:
24
- return node.values.map(parseLiteralValue);
25
- case Kind.OBJECT:
26
- return parseObjectLiteral(node);
27
- default:
28
- throw new GraphQLError(`JSONObject cannot represent a ${node.kind} literal`, { nodes: node });
29
- }
30
- }
31
- function parseObjectLiteral(node) {
32
- return node.fields.reduce((carry, field) => {
33
- return { ...carry, [field.name.value]: parseLiteralValue(field.value) };
34
- }, {});
35
- }
36
- function assertPlainObject(value) {
37
- if (typeof value !== 'object' ||
38
- value === null ||
39
- Array.isArray(value) ||
40
- // A Date or any other class instance serializes to something the host did
41
- // not write; reject it here rather than let it reach the column.
42
- Object.getPrototypeOf(value) !== Object.prototype) {
43
- throw new GraphQLError('JSONObject must be a plain JSON object');
44
- }
45
- return value;
46
- }
47
- const GraphQLJSONObject = new GraphQLScalarType({
48
- name: 'JSONObject',
49
- description: 'An arbitrary JSON object supplied by the host. Its keys and values are stored verbatim and are never interpreted by this module.',
50
- serialize: (value) => assertPlainObject(value),
51
- parseValue: (value) => assertPlainObject(value),
52
- parseLiteral: (node) => {
53
- if (node.kind !== Kind.OBJECT) {
54
- throw new GraphQLError('JSONObject must be an object literal', {
55
- nodes: node,
56
- });
57
- }
58
- return parseObjectLiteral(node);
59
- },
60
- });
61
-
62
- export { GraphQLJSONObject };