@rytass/wms-module-graphql 0.11.0 → 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 (169) 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/inventory-count-order.args.d.ts +6 -0
  8. package/package.json +12 -11
  9. package/adapters/event-emitter.js +0 -41
  10. package/adapters/member-base.js +0 -63
  11. package/index.js +0 -12
  12. package/lib/auth/host-skip.constant.js +0 -29
  13. package/lib/auth/wms-auth.guard.js +0 -41
  14. package/lib/auth/wms-auth.types.js +0 -6
  15. package/lib/auth/wms-operation.decorator.js +0 -29
  16. package/lib/dto/allocate-inventory-order-item.dto.js +0 -36
  17. package/lib/dto/allocate-inventory-order.dto.js +0 -31
  18. package/lib/dto/batch.dto.js +0 -26
  19. package/lib/dto/consumption-order-item.dto.js +0 -43
  20. package/lib/dto/consumption-order.dto.js +0 -52
  21. package/lib/dto/hold-inventory-order-item.dto.js +0 -37
  22. package/lib/dto/hold-inventory-order.dto.js +0 -47
  23. package/lib/dto/inventory-count-order.dto.js +0 -207
  24. package/lib/dto/loader-type.dto.js +0 -46
  25. package/lib/dto/loader-unit.dto.js +0 -21
  26. package/lib/dto/loader.dto.js +0 -71
  27. package/lib/dto/location.dto.js +0 -36
  28. package/lib/dto/material-unit.dto.js +0 -46
  29. package/lib/dto/material.dto.js +0 -36
  30. package/lib/dto/merge-batch-order.dto.js +0 -50
  31. package/lib/dto/order-reference.dto.js +0 -73
  32. package/lib/dto/pagination.dto.js +0 -51
  33. package/lib/dto/quality-inspection-order-item.dto.js +0 -50
  34. package/lib/dto/quality-inspection-order.dto.js +0 -42
  35. package/lib/dto/receive-inventory-order-item.dto.js +0 -60
  36. package/lib/dto/receive-inventory-order.dto.js +0 -58
  37. package/lib/dto/reclassify-inventory-order.dto.js +0 -55
  38. package/lib/dto/sale-order.dto.js +0 -20
  39. package/lib/dto/scrape-order-item.dto.js +0 -56
  40. package/lib/dto/scrape-order.dto.js +0 -37
  41. package/lib/dto/ship-inventory-order-item.dto.js +0 -56
  42. package/lib/dto/ship-inventory-order-reference.dto.js +0 -48
  43. package/lib/dto/ship-inventory-order.dto.js +0 -58
  44. package/lib/dto/split-batch-order.dto.js +0 -50
  45. package/lib/dto/stock.dto.js +0 -166
  46. package/lib/dto/transfer-customer-order-item.dto.js +0 -61
  47. package/lib/dto/transfer-customer-order.dto.js +0 -37
  48. package/lib/dto/transfer-order-item.dto.js +0 -41
  49. package/lib/dto/transfer-order.dto.js +0 -57
  50. package/lib/dto/transfer-vendor-order-item.dto.js +0 -61
  51. package/lib/dto/transfer-vendor-order.dto.js +0 -37
  52. package/lib/dto/unit.dto.js +0 -20
  53. package/lib/dto/warehouse-map.dto.js +0 -165
  54. package/lib/events/wms-mutation-event.constants.js +0 -4
  55. package/lib/events/wms-mutation-event.decorator.js +0 -20
  56. package/lib/events/wms-mutation.interceptor.js +0 -64
  57. package/lib/graphql.module.js +0 -183
  58. package/lib/helpers/create-wms-loaders.js +0 -11
  59. package/lib/helpers/helper.module.js +0 -15
  60. package/lib/helpers/loader.service.js +0 -230
  61. package/lib/helpers/query-path.js +0 -19
  62. package/lib/inputs/cancel-ship-order.args.js +0 -20
  63. package/lib/inputs/cancel-transfer-order.args.js +0 -23
  64. package/lib/inputs/consumption-order.args.js +0 -182
  65. package/lib/inputs/create-allocate-inventory-order-item.args.js +0 -50
  66. package/lib/inputs/create-allocate-inventory-order.args.js +0 -36
  67. package/lib/inputs/create-hold-inventory-order-item.args.js +0 -40
  68. package/lib/inputs/create-hold-inventory-order.args.js +0 -41
  69. package/lib/inputs/create-loader-type.args.js +0 -35
  70. package/lib/inputs/create-loader.args.js +0 -130
  71. package/lib/inputs/create-location.args.js +0 -50
  72. package/lib/inputs/create-material-unit.args.js +0 -25
  73. package/lib/inputs/create-material.args.js +0 -51
  74. package/lib/inputs/create-quality-inspection-order.args.js +0 -50
  75. package/lib/inputs/create-receive-inventory-order-item.args.js +0 -70
  76. package/lib/inputs/create-receive-inventory-order.args.js +0 -51
  77. package/lib/inputs/create-ship-inventory-order-item.args.js +0 -45
  78. package/lib/inputs/create-ship-inventory-order-reference.args.js +0 -65
  79. package/lib/inputs/create-ship-inventory-order.args.js +0 -57
  80. package/lib/inputs/create-transfer-customer-order-item.args.js +0 -40
  81. package/lib/inputs/create-transfer-customer-order.args.js +0 -51
  82. package/lib/inputs/create-transfer-order-item.args.js +0 -40
  83. package/lib/inputs/create-transfer-order.args.js +0 -61
  84. package/lib/inputs/create-transfer-vendor-order-item.args.js +0 -40
  85. package/lib/inputs/create-transfer-vendor-order.args.js +0 -51
  86. package/lib/inputs/date-range.args.js +0 -20
  87. package/lib/inputs/deallocate-order.args.js +0 -25
  88. package/lib/inputs/find-allocate-inventory-order.args.js +0 -42
  89. package/lib/inputs/find-batch.args.js +0 -21
  90. package/lib/inputs/find-hold-inventory-order.args.js +0 -42
  91. package/lib/inputs/find-loader-type.args.js +0 -32
  92. package/lib/inputs/find-loader.args.js +0 -72
  93. package/lib/inputs/find-location.args.js +0 -26
  94. package/lib/inputs/find-material.args.js +0 -21
  95. package/lib/inputs/find-receive-inventory-order.args.js +0 -71
  96. package/lib/inputs/find-sale-order.args.js +0 -16
  97. package/lib/inputs/find-ship-inventory-order.args.js +0 -71
  98. package/lib/inputs/find-stock.args.js +0 -102
  99. package/lib/inputs/find-transfer-order.args.js +0 -82
  100. package/lib/inputs/inventory-count-order.args.js +0 -257
  101. package/lib/inputs/merge-batch.args.js +0 -40
  102. package/lib/inputs/order-reference.args.js +0 -103
  103. package/lib/inputs/pagination.args.js +0 -20
  104. package/lib/inputs/receive-order.args.js +0 -40
  105. package/lib/inputs/reclassify-inventory-order.args.js +0 -40
  106. package/lib/inputs/release-order.args.js +0 -25
  107. package/lib/inputs/return-transfer-customer-order.args.js +0 -35
  108. package/lib/inputs/return-transfer-vendor-order.args.js +0 -35
  109. package/lib/inputs/scrape-order.args.js +0 -35
  110. package/lib/inputs/ship-order.args.js +0 -20
  111. package/lib/inputs/split-batch.args.js +0 -51
  112. package/lib/inputs/transfer-order.args.js +0 -20
  113. package/lib/inputs/update-warehouse-map.args.js +0 -121
  114. package/lib/mutations/allocate-inventory-order.mutation.js +0 -91
  115. package/lib/mutations/consumption-order.mutation.js +0 -90
  116. package/lib/mutations/hold-inventory-order.mutation.js +0 -91
  117. package/lib/mutations/inventory-count-order.mutation.js +0 -138
  118. package/lib/mutations/loader.mutation.js +0 -123
  119. package/lib/mutations/location.mutation.js +0 -47
  120. package/lib/mutations/material.mutation.js +0 -74
  121. package/lib/mutations/merge-batch.mutation.js +0 -50
  122. package/lib/mutations/order-reference.mutation.js +0 -57
  123. package/lib/mutations/quality-inspection-order.mutation.js +0 -50
  124. package/lib/mutations/receive-inventory-order.mutation.js +0 -106
  125. package/lib/mutations/reclassify-inventory-order.mutation.js +0 -51
  126. package/lib/mutations/scrape-order.mutation.js +0 -44
  127. package/lib/mutations/ship-inventory-order.mutation.js +0 -123
  128. package/lib/mutations/split-batch.mutation.js +0 -44
  129. package/lib/mutations/transfer-customer-order.mutation.js +0 -91
  130. package/lib/mutations/transfer-order.mutation.js +0 -96
  131. package/lib/mutations/transfer-vendor-order.mutation.js +0 -91
  132. package/lib/mutations/warehouse-map.mutation.js +0 -60
  133. package/lib/queries/allocate-inventory-order.query.js +0 -33
  134. package/lib/queries/batch.query.js +0 -36
  135. package/lib/queries/consumption-order.query.js +0 -45
  136. package/lib/queries/hold-inventory-order.query.js +0 -33
  137. package/lib/queries/inventory-count-order.query.js +0 -63
  138. package/lib/queries/loader.query.js +0 -167
  139. package/lib/queries/location.query.js +0 -51
  140. package/lib/queries/material.query.js +0 -79
  141. package/lib/queries/order-reference.query.js +0 -34
  142. package/lib/queries/recieve-inventory-order.query.js +0 -77
  143. package/lib/queries/sale-order.query.js +0 -57
  144. package/lib/queries/ship-inventory-order.query.js +0 -77
  145. package/lib/queries/stock.query.js +0 -116
  146. package/lib/queries/transfer-order.query.js +0 -46
  147. package/lib/queries/unit.query.js +0 -30
  148. package/lib/queries/warehouse-map.query.js +0 -32
  149. package/lib/registry/operation-registry.js +0 -136
  150. package/lib/resolvers/aggregated-stock.resolver.js +0 -119
  151. package/lib/resolvers/allocate-inventory-order.resolver.js +0 -27
  152. package/lib/resolvers/change-log.resolver.js +0 -99
  153. package/lib/resolvers/consumption-order.resolver.js +0 -238
  154. package/lib/resolvers/hold-inventory-order.resolver.js +0 -27
  155. package/lib/resolvers/inventory-count-order.resolver.js +0 -148
  156. package/lib/resolvers/loader-type.resolver.js +0 -54
  157. package/lib/resolvers/loader.resolver.js +0 -99
  158. package/lib/resolvers/location.resolver.js +0 -80
  159. package/lib/resolvers/material.resolver.js +0 -87
  160. package/lib/resolvers/merge-batch.resolver.js +0 -26
  161. package/lib/resolvers/receive-inventory-order.resolver.js +0 -156
  162. package/lib/resolvers/ship-inventory-order.resolver.js +0 -301
  163. package/lib/resolvers/split-batch.resolver.js +0 -26
  164. package/lib/resolvers/stock.resolver.js +0 -99
  165. package/lib/resolvers/transfer-customer-order.resolver.js +0 -27
  166. package/lib/resolvers/transfer-order.resolver.js +0 -246
  167. package/lib/resolvers/transfer-vendor-order.resolver.js +0 -27
  168. package/lib/resolvers/warehouse-map.resolver.js +0 -41
  169. package/lib/scalars/json-object.scalar.js +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.js';
4
- import '../dto/loader.dto.js';
5
- import { MaterialDto } from '../dto/material.dto.js';
6
- import '../dto/material-unit.dto.js';
7
- import { StockDto } from '../dto/stock.dto.js';
8
- import '../dto/sale-order.dto.js';
9
- import '../dto/receive-inventory-order.dto.js';
10
- import '../dto/receive-inventory-order-item.dto.js';
11
- import '../dto/ship-inventory-order.dto.js';
12
- import '../dto/ship-inventory-order-item.dto.js';
13
- import '../dto/hold-inventory-order.dto.js';
14
- import '../dto/hold-inventory-order-item.dto.js';
15
- import '../dto/allocate-inventory-order.dto.js';
16
- import '../dto/allocate-inventory-order-item.dto.js';
17
- import '../dto/transfer-order.dto.js';
18
- import '../dto/transfer-order-item.dto.js';
19
- import '../dto/transfer-customer-order.dto.js';
20
- import '../dto/transfer-customer-order-item.dto.js';
21
- import '../dto/transfer-vendor-order.dto.js';
22
- import '../dto/transfer-vendor-order-item.dto.js';
23
- import '../dto/scrape-order.dto.js';
24
- import '../dto/scrape-order-item.dto.js';
25
- import '../dto/quality-inspection-order.dto.js';
26
- import '../dto/quality-inspection-order-item.dto.js';
27
- import '../dto/inventory-count-order.dto.js';
28
- import '../dto/consumption-order.dto.js';
29
- import '../dto/consumption-order-item.dto.js';
30
- import '../dto/order-reference.dto.js';
31
- import { StockEntityClass, WmsEntities, BatchGroupEntityClass } from '@rytass/wms-module-core';
32
- import { LocationDto } from '../dto/location.dto.js';
33
- import { BatchDto } from '../dto/batch.dto.js';
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.js';
4
- import { TransferCustomerOrderItemDto } from '../dto/transfer-customer-order-item.dto.js';
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.js';
4
- import { TransferOrderItemDto } from '../dto/transfer-order-item.dto.js';
5
- import { WmsEntities, TransferOrderItemEntityClass, LoadersEntityClass, BatchGroupEntityClass, TransferOrderChangeEntityClass } from '@rytass/wms-module-core';
6
- import '../dto/loader-type.dto.js';
7
- import { LoaderDto } from '../dto/loader.dto.js';
8
- import { MaterialDto } from '../dto/material.dto.js';
9
- import '../dto/material-unit.dto.js';
10
- import '../dto/stock.dto.js';
11
- import '../dto/sale-order.dto.js';
12
- import '../dto/receive-inventory-order.dto.js';
13
- import '../dto/receive-inventory-order-item.dto.js';
14
- import '../dto/ship-inventory-order.dto.js';
15
- import '../dto/ship-inventory-order-item.dto.js';
16
- import '../dto/hold-inventory-order.dto.js';
17
- import '../dto/hold-inventory-order-item.dto.js';
18
- import '../dto/allocate-inventory-order.dto.js';
19
- import '../dto/allocate-inventory-order-item.dto.js';
20
- import '../dto/transfer-customer-order.dto.js';
21
- import '../dto/transfer-customer-order-item.dto.js';
22
- import '../dto/transfer-vendor-order.dto.js';
23
- import '../dto/transfer-vendor-order-item.dto.js';
24
- import '../dto/scrape-order.dto.js';
25
- import '../dto/scrape-order-item.dto.js';
26
- import '../dto/quality-inspection-order.dto.js';
27
- import '../dto/quality-inspection-order-item.dto.js';
28
- import '../dto/inventory-count-order.dto.js';
29
- import '../dto/consumption-order.dto.js';
30
- import '../dto/consumption-order-item.dto.js';
31
- import '../dto/order-reference.dto.js';
32
- import { BatchDto } from '../dto/batch.dto.js';
33
- import { LocationDto } from '../dto/location.dto.js';
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.js';
4
- import { TransferVendorOrderItemDto } from '../dto/transfer-vendor-order-item.dto.js';
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.js';
4
- import { WmsEntities } from '@rytass/wms-module-core';
5
- import { MapRangeDto } from '../dto/warehouse-map.dto.js';
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 };