@things-factory/warehouse-base 5.0.7 → 5.0.11
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.
- package/dist-server/constants/index.js +6 -19
- package/dist-server/constants/index.js.map +1 -1
- package/dist-server/constants/inventory.js.map +1 -1
- package/dist-server/constants/location.js.map +1 -1
- package/dist-server/constants/pallet.js.map +1 -1
- package/dist-server/constants/rule-type.js.map +1 -1
- package/dist-server/constants/tote.js.map +1 -1
- package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
- package/dist-server/controllers/ecommerce/index.js +3 -16
- package/dist-server/controllers/ecommerce/index.js.map +1 -1
- package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
- package/dist-server/controllers/index.js +3 -16
- package/dist-server/controllers/index.js.map +1 -1
- package/dist-server/controllers/warehouse-controller.js.map +1 -1
- package/dist-server/index.js +6 -19
- package/dist-server/index.js.map +1 -1
- package/dist-server/middlewares/index.js.map +1 -1
- package/dist-server/migrations/index.js.map +1 -1
- package/dist-server/service/index.js +28 -41
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/inventory/index.js.map +1 -1
- package/dist-server/service/inventory/inventory-mutation.js +50 -61
- package/dist-server/service/inventory/inventory-mutation.js.map +1 -1
- package/dist-server/service/inventory/inventory-query.js +124 -135
- package/dist-server/service/inventory/inventory-query.js.map +1 -1
- package/dist-server/service/inventory/inventory-types.js +198 -206
- package/dist-server/service/inventory/inventory-types.js.map +1 -1
- package/dist-server/service/inventory/inventory.js +133 -141
- package/dist-server/service/inventory/inventory.js.map +1 -1
- package/dist-server/service/inventory-change/index.js.map +1 -1
- package/dist-server/service/inventory-change/inventory-change-mutation.js +51 -62
- package/dist-server/service/inventory-change/inventory-change-mutation.js.map +1 -1
- package/dist-server/service/inventory-change/inventory-change-query.js +29 -40
- package/dist-server/service/inventory-change/inventory-change-query.js.map +1 -1
- package/dist-server/service/inventory-change/inventory-change-types.js +20 -28
- package/dist-server/service/inventory-change/inventory-change-types.js.map +1 -1
- package/dist-server/service/inventory-change/inventory-change.js +68 -76
- package/dist-server/service/inventory-change/inventory-change.js.map +1 -1
- package/dist-server/service/inventory-history/index.js.map +1 -1
- package/dist-server/service/inventory-history/inventory-history-mutation.js +33 -44
- package/dist-server/service/inventory-history/inventory-history-mutation.js.map +1 -1
- package/dist-server/service/inventory-history/inventory-history-query.js +105 -116
- package/dist-server/service/inventory-history/inventory-history-query.js.map +1 -1
- package/dist-server/service/inventory-history/inventory-history-types.js +282 -290
- package/dist-server/service/inventory-history/inventory-history-types.js.map +1 -1
- package/dist-server/service/inventory-history/inventory-history.js +82 -90
- package/dist-server/service/inventory-history/inventory-history.js.map +1 -1
- package/dist-server/service/inventory-item/index.js.map +1 -1
- package/dist-server/service/inventory-item/inventory-item-mutation.js +47 -58
- package/dist-server/service/inventory-item/inventory-item-mutation.js.map +1 -1
- package/dist-server/service/inventory-item/inventory-item-query.js +41 -52
- package/dist-server/service/inventory-item/inventory-item-query.js.map +1 -1
- package/dist-server/service/inventory-item/inventory-item-type.js +44 -52
- package/dist-server/service/inventory-item/inventory-item-type.js.map +1 -1
- package/dist-server/service/inventory-item/inventory-item.js +44 -52
- package/dist-server/service/inventory-item/inventory-item.js.map +1 -1
- package/dist-server/service/inventory-item-change/index.js.map +1 -1
- package/dist-server/service/inventory-item-change/inventory-item-change-mutation.js +33 -44
- package/dist-server/service/inventory-item-change/inventory-item-change-mutation.js.map +1 -1
- package/dist-server/service/inventory-item-change/inventory-item-change-query.js +29 -40
- package/dist-server/service/inventory-item-change/inventory-item-change-query.js.map +1 -1
- package/dist-server/service/inventory-item-change/inventory-item-change-type.js +40 -48
- package/dist-server/service/inventory-item-change/inventory-item-change-type.js.map +1 -1
- package/dist-server/service/inventory-item-change/inventory-item-change.js +34 -42
- package/dist-server/service/inventory-item-change/inventory-item-change.js.map +1 -1
- package/dist-server/service/inventory-product/index.js.map +1 -1
- package/dist-server/service/inventory-product/inventory-product-mutation.js +33 -44
- package/dist-server/service/inventory-product/inventory-product-mutation.js.map +1 -1
- package/dist-server/service/inventory-product/inventory-product-query.js +29 -40
- package/dist-server/service/inventory-product/inventory-product-query.js.map +1 -1
- package/dist-server/service/inventory-product/inventory-product-type.js +34 -42
- package/dist-server/service/inventory-product/inventory-product-type.js.map +1 -1
- package/dist-server/service/inventory-product/inventory-product.js +34 -42
- package/dist-server/service/inventory-product/inventory-product.js.map +1 -1
- package/dist-server/service/location/index.js.map +1 -1
- package/dist-server/service/location/location-mutation.js +39 -50
- package/dist-server/service/location/location-mutation.js.map +1 -1
- package/dist-server/service/location/location-query.js +65 -76
- package/dist-server/service/location/location-query.js.map +1 -1
- package/dist-server/service/location/location-types.js +105 -113
- package/dist-server/service/location/location-types.js.map +1 -1
- package/dist-server/service/location/location.js +41 -49
- package/dist-server/service/location/location.js.map +1 -1
- package/dist-server/service/movement/index.js.map +1 -1
- package/dist-server/service/movement/movement-mutation.js +21 -32
- package/dist-server/service/movement/movement-mutation.js.map +1 -1
- package/dist-server/service/movement/movement-query.js +51 -65
- package/dist-server/service/movement/movement-query.js.map +1 -1
- package/dist-server/service/movement/movement-types.js +43 -51
- package/dist-server/service/movement/movement-types.js.map +1 -1
- package/dist-server/service/movement/movement.js +30 -38
- package/dist-server/service/movement/movement.js.map +1 -1
- package/dist-server/service/pallet/index.js.map +1 -1
- package/dist-server/service/pallet/pallet-mutation.js +39 -50
- package/dist-server/service/pallet/pallet-mutation.js.map +1 -1
- package/dist-server/service/pallet/pallet-query.js +48 -59
- package/dist-server/service/pallet/pallet-query.js.map +1 -1
- package/dist-server/service/pallet/pallet-types.js +39 -47
- package/dist-server/service/pallet/pallet-types.js.map +1 -1
- package/dist-server/service/pallet/pallet.js +34 -42
- package/dist-server/service/pallet/pallet.js.map +1 -1
- package/dist-server/service/pallet-count/index.js.map +1 -1
- package/dist-server/service/pallet-count/pallet-count-mutation.js +39 -50
- package/dist-server/service/pallet-count/pallet-count-mutation.js.map +1 -1
- package/dist-server/service/pallet-count/pallet-count-query.js +28 -39
- package/dist-server/service/pallet-count/pallet-count-query.js.map +1 -1
- package/dist-server/service/pallet-count/pallet-count-types.js +20 -28
- package/dist-server/service/pallet-count/pallet-count-types.js.map +1 -1
- package/dist-server/service/pallet-count/pallet-count.js +26 -34
- package/dist-server/service/pallet-count/pallet-count.js.map +1 -1
- package/dist-server/service/pallet-history/index.js.map +1 -1
- package/dist-server/service/pallet-history/pallet-history-mutation.js +33 -44
- package/dist-server/service/pallet-history/pallet-history-mutation.js.map +1 -1
- package/dist-server/service/pallet-history/pallet-history-query.js +29 -40
- package/dist-server/service/pallet-history/pallet-history-query.js.map +1 -1
- package/dist-server/service/pallet-history/pallet-history-types.js +20 -28
- package/dist-server/service/pallet-history/pallet-history-types.js.map +1 -1
- package/dist-server/service/pallet-history/pallet-history.js +34 -42
- package/dist-server/service/pallet-history/pallet-history.js.map +1 -1
- package/dist-server/service/reduced-inventory-history/index.js.map +1 -1
- package/dist-server/service/reduced-inventory-history/reduced-inventory-history.js +52 -60
- package/dist-server/service/reduced-inventory-history/reduced-inventory-history.js.map +1 -1
- package/dist-server/service/tote/index.js.map +1 -1
- package/dist-server/service/tote/tote-mutation.js +46 -57
- package/dist-server/service/tote/tote-mutation.js.map +1 -1
- package/dist-server/service/tote/tote-query.js +44 -55
- package/dist-server/service/tote/tote-query.js.map +1 -1
- package/dist-server/service/tote/tote-types.js +24 -32
- package/dist-server/service/tote/tote-types.js.map +1 -1
- package/dist-server/service/tote/tote.js +30 -38
- package/dist-server/service/tote/tote.js.map +1 -1
- package/dist-server/service/warehouse/index.js.map +1 -1
- package/dist-server/service/warehouse/warehouse-mutation.js +33 -44
- package/dist-server/service/warehouse/warehouse-mutation.js.map +1 -1
- package/dist-server/service/warehouse/warehouse-query.js +29 -40
- package/dist-server/service/warehouse/warehouse-query.js.map +1 -1
- package/dist-server/service/warehouse/warehouse-types.js +28 -36
- package/dist-server/service/warehouse/warehouse-types.js.map +1 -1
- package/dist-server/service/warehouse/warehouse.js +31 -39
- package/dist-server/service/warehouse/warehouse.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -0
- package/dist-server/utils/datetime-util.js.map +1 -1
- package/dist-server/utils/index.js +4 -17
- package/dist-server/utils/index.js.map +1 -1
- package/dist-server/utils/inventory-no-generator.js.map +1 -1
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/package.json +8 -8
- package/server/service/inventory/inventory-mutation.ts +2 -2
- package/server/service/inventory/inventory-query.ts +2 -2
- package/server/service/inventory/inventory.ts +6 -5
- package/server/service/inventory-change/inventory-change-mutation.ts +1 -1
- package/server/service/inventory-change/inventory-change-query.ts +2 -2
- package/server/service/inventory-history/inventory-history-query.ts +29 -28
- package/server/service/inventory-history/inventory-history.ts +39 -39
- package/server/service/inventory-item/inventory-item-mutation.ts +3 -3
- package/server/service/movement/movement-query.ts +3 -6
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
3
|
exports.approveInventoryChanges = exports.InventoryChangeMutation = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
16
5
|
const type_graphql_1 = require("type-graphql");
|
|
17
6
|
const typeorm_1 = require("typeorm");
|
|
18
7
|
const auth_base_1 = require("@things-factory/auth-base");
|
|
@@ -335,83 +324,83 @@ let InventoryChangeMutation = class InventoryChangeMutation {
|
|
|
335
324
|
return true;
|
|
336
325
|
}
|
|
337
326
|
};
|
|
338
|
-
__decorate([
|
|
327
|
+
tslib_1.__decorate([
|
|
339
328
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
340
329
|
(0, type_graphql_1.Mutation)(returns => inventory_change_1.InventoryChange),
|
|
341
|
-
__param(0, (0, type_graphql_1.Arg)('inventoryChange')),
|
|
342
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
343
|
-
__metadata("design:type", Function),
|
|
344
|
-
__metadata("design:paramtypes", [inventory_change_types_1.NewInventoryChange, Object]),
|
|
345
|
-
__metadata("design:returntype", Promise)
|
|
330
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('inventoryChange')),
|
|
331
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
332
|
+
tslib_1.__metadata("design:type", Function),
|
|
333
|
+
tslib_1.__metadata("design:paramtypes", [inventory_change_types_1.NewInventoryChange, Object]),
|
|
334
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
346
335
|
], InventoryChangeMutation.prototype, "createInventoryChange", null);
|
|
347
|
-
__decorate([
|
|
336
|
+
tslib_1.__decorate([
|
|
348
337
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
349
338
|
(0, type_graphql_1.Mutation)(returns => inventory_change_1.InventoryChange),
|
|
350
|
-
__param(0, (0, type_graphql_1.Arg)('name')),
|
|
351
|
-
__param(1, (0, type_graphql_1.Arg)('patch')),
|
|
352
|
-
__param(2, (0, type_graphql_1.Ctx)()),
|
|
353
|
-
__metadata("design:type", Function),
|
|
354
|
-
__metadata("design:paramtypes", [String, inventory_change_types_1.InventoryChangePatch, Object]),
|
|
355
|
-
__metadata("design:returntype", Promise)
|
|
339
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
|
340
|
+
tslib_1.__param(1, (0, type_graphql_1.Arg)('patch')),
|
|
341
|
+
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
|
342
|
+
tslib_1.__metadata("design:type", Function),
|
|
343
|
+
tslib_1.__metadata("design:paramtypes", [String, inventory_change_types_1.InventoryChangePatch, Object]),
|
|
344
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
356
345
|
], InventoryChangeMutation.prototype, "updateInventoryChange", null);
|
|
357
|
-
__decorate([
|
|
346
|
+
tslib_1.__decorate([
|
|
358
347
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
359
348
|
(0, type_graphql_1.Mutation)(returns => [inventory_change_1.InventoryChange]),
|
|
360
|
-
__param(0, (0, type_graphql_1.Arg)('patches', type => [inventory_change_types_1.InventoryChangePatch])),
|
|
361
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
362
|
-
__metadata("design:type", Function),
|
|
363
|
-
__metadata("design:paramtypes", [Array, Object]),
|
|
364
|
-
__metadata("design:returntype", Promise)
|
|
349
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [inventory_change_types_1.InventoryChangePatch])),
|
|
350
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
351
|
+
tslib_1.__metadata("design:type", Function),
|
|
352
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
|
353
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
365
354
|
], InventoryChangeMutation.prototype, "updateMultipleInventoryChange", null);
|
|
366
|
-
__decorate([
|
|
355
|
+
tslib_1.__decorate([
|
|
367
356
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
368
357
|
(0, type_graphql_1.Mutation)(returns => Boolean),
|
|
369
|
-
__param(0, (0, type_graphql_1.Arg)('name')),
|
|
370
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
371
|
-
__metadata("design:type", Function),
|
|
372
|
-
__metadata("design:paramtypes", [String, Object]),
|
|
373
|
-
__metadata("design:returntype", Promise)
|
|
358
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
|
359
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
360
|
+
tslib_1.__metadata("design:type", Function),
|
|
361
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
362
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
374
363
|
], InventoryChangeMutation.prototype, "deleteInventoryChange", null);
|
|
375
|
-
__decorate([
|
|
364
|
+
tslib_1.__decorate([
|
|
376
365
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
377
366
|
(0, type_graphql_1.Mutation)(returns => Boolean),
|
|
378
|
-
__param(0, (0, type_graphql_1.Arg)('names', type => [String])),
|
|
379
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
380
|
-
__metadata("design:type", Function),
|
|
381
|
-
__metadata("design:paramtypes", [Array, Object]),
|
|
382
|
-
__metadata("design:returntype", Promise)
|
|
367
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('names', type => [String])),
|
|
368
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
369
|
+
tslib_1.__metadata("design:type", Function),
|
|
370
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
|
371
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
383
372
|
], InventoryChangeMutation.prototype, "deleteInventoryChanges", null);
|
|
384
|
-
__decorate([
|
|
373
|
+
tslib_1.__decorate([
|
|
385
374
|
(0, type_graphql_1.Directive)('@privilege(category: "inventory", privilege: "mutation")'),
|
|
386
375
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
387
376
|
(0, type_graphql_1.Mutation)(returns => Boolean),
|
|
388
|
-
__param(0, (0, type_graphql_1.Arg)('patches', type => [inventory_types_1.InventoryPatch])),
|
|
389
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
390
|
-
__metadata("design:type", Function),
|
|
391
|
-
__metadata("design:paramtypes", [Array, Object]),
|
|
392
|
-
__metadata("design:returntype", Promise)
|
|
377
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [inventory_types_1.InventoryPatch])),
|
|
378
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
379
|
+
tslib_1.__metadata("design:type", Function),
|
|
380
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
|
381
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
393
382
|
], InventoryChangeMutation.prototype, "submitInventoryChanges", null);
|
|
394
|
-
__decorate([
|
|
383
|
+
tslib_1.__decorate([
|
|
395
384
|
(0, type_graphql_1.Directive)('@privilege(category: "inventory_adjustment_approval", privilege: "mutation")'),
|
|
396
385
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
397
386
|
(0, type_graphql_1.Mutation)(returns => inventory_change_types_1.InventoryChangeList),
|
|
398
|
-
__param(0, (0, type_graphql_1.Arg)('patches', type => [inventory_change_types_1.InventoryChangePatch])),
|
|
399
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
400
|
-
__metadata("design:type", Function),
|
|
401
|
-
__metadata("design:paramtypes", [Array, Object]),
|
|
402
|
-
__metadata("design:returntype", Promise)
|
|
387
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [inventory_change_types_1.InventoryChangePatch])),
|
|
388
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
389
|
+
tslib_1.__metadata("design:type", Function),
|
|
390
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
|
391
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
403
392
|
], InventoryChangeMutation.prototype, "approveInventoryChanges", null);
|
|
404
|
-
__decorate([
|
|
393
|
+
tslib_1.__decorate([
|
|
405
394
|
(0, type_graphql_1.Directive)('@privilege(category: "inventory_adjustment_approval", privilege: "mutation")'),
|
|
406
395
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
407
396
|
(0, type_graphql_1.Mutation)(returns => Boolean),
|
|
408
|
-
__param(0, (0, type_graphql_1.Arg)('patches', type => [inventory_change_types_1.InventoryChangePatch])),
|
|
409
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
410
|
-
__metadata("design:type", Function),
|
|
411
|
-
__metadata("design:paramtypes", [Array, Object]),
|
|
412
|
-
__metadata("design:returntype", Promise)
|
|
397
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [inventory_change_types_1.InventoryChangePatch])),
|
|
398
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
399
|
+
tslib_1.__metadata("design:type", Function),
|
|
400
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
|
401
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
413
402
|
], InventoryChangeMutation.prototype, "rejectInventoryChanges", null);
|
|
414
|
-
InventoryChangeMutation = __decorate([
|
|
403
|
+
InventoryChangeMutation = tslib_1.__decorate([
|
|
415
404
|
(0, type_graphql_1.Resolver)(inventory_change_1.InventoryChange)
|
|
416
405
|
], InventoryChangeMutation);
|
|
417
406
|
exports.InventoryChangeMutation = InventoryChangeMutation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory-change-mutation.js","sourceRoot":"","sources":["../../../server/service/inventory-change/inventory-change-mutation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inventory-change-mutation.js","sourceRoot":"","sources":["../../../server/service/inventory-change/inventory-change-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, In, MoreThan, Not } from 'typeorm'\n\nimport { Privilege, User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { generateId } from '@things-factory/id-rule-base'\nimport { MarketplaceStore } from '@things-factory/integration-marketplace'\nimport { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'\nimport { sendNotification } from '@things-factory/notification'\nimport { Product } from '@things-factory/product-base'\nimport { PartnerSetting, Setting } from '@things-factory/setting-base'\nimport { Domain } from '@things-factory/shell'\n\nimport { INVENTORY_ITEM_CHANGE_TYPE, INVENTORY_ITEM_SOURCE, INVENTORY_STATUS, LOCATION_STATUS } from '../../constants'\nimport { EcommerceController, SellercraftController } from '../../controllers'\nimport { InventoryNoGenerator } from '../../utils'\nimport { InventoryHistory } from '../inventory-history/inventory-history'\nimport { InventoryItemChange } from '../inventory-item-change/inventory-item-change'\nimport { InventoryItem } from '../inventory-item/inventory-item'\nimport { checkExistingSerialNumber } from '../inventory-item/inventory-item-query'\nimport { Inventory } from '../inventory/inventory'\nimport { InventoryPatch } from '../inventory/inventory-types'\nimport { Location } from '../location/location'\nimport { InventoryChange } from './inventory-change'\nimport { InventoryChangeList, InventoryChangePatch, NewInventoryChange } from './inventory-change-types'\n\n@Resolver(InventoryChange)\nexport class InventoryChangeMutation {\n @Directive('@transaction')\n @Mutation(returns => InventoryChange)\n async createInventoryChange(\n @Arg('inventoryChange') inventoryChange: NewInventoryChange,\n @Ctx() context: any\n ): Promise<InventoryChange> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n return await tx.getRepository(InventoryChange).save({\n ...inventoryChange,\n domain: domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => InventoryChange)\n async updateInventoryChange(\n @Arg('name') name: string,\n @Arg('patch') patch: InventoryChangePatch,\n @Ctx() context: any\n ): Promise<InventoryChange> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n const repository = tx.getRepository(InventoryChange)\n const inventoryChange = await repository.findOne({\n where: { domain: domain, name }\n })\n\n return await repository.save({\n ...inventoryChange,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => [InventoryChange])\n async updateMultipleInventoryChange(\n @Arg('patches', type => [InventoryChangePatch]) patches: InventoryChangePatch[],\n @Ctx() context: any\n ): Promise<InventoryChange[]> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\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 const inventoryChangeRepo = tx.getRepository(InventoryChange)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await inventoryChangeRepo.save({\n ...newRecord,\n domain: domain,\n creator: user,\n updater: user\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 inventoryChange = await inventoryChangeRepo.findOne(newRecord.id)\n\n const result = await inventoryChangeRepo.save({\n ...inventoryChange,\n ...newRecord,\n updater: user\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 deleteInventoryChange(@Arg('name') name: string, @Ctx() context: any): Promise<Boolean> {\n const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state\n\n await tx.getRepository(InventoryChange).delete({ domain: domain, name })\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteInventoryChanges(@Arg('names', type => [String]) names: string[], @Ctx() context: any): Promise<Boolean> {\n const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state\n\n await tx.getRepository(InventoryChange).delete({\n domain: domain,\n name: In(names)\n })\n return true\n }\n\n @Directive('@privilege(category: \"inventory\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async submitInventoryChanges(\n @Arg('patches', type => [InventoryPatch]) patches: InventoryPatch[],\n @Ctx() context: any\n ) {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n const _createRecords = []\n const _updateRecords = []\n\n for (let i = 0; i < patches.length; i++) {\n let foundExistingPallet = await tx.getRepository(Inventory).findOne({\n where: { domain, palletId: patches[i]?.palletId }\n })\n\n if (!foundExistingPallet) {\n foundExistingPallet = await tx.getRepository(Inventory).findOne({\n where: { id: patches[i]?.id }\n })\n }\n\n const invLockedQty: number = foundExistingPallet?.lockedQty == null ? 0 : foundExistingPallet?.lockedQty\n\n if (patches[i]?.qty < invLockedQty) {\n throw new Error(\n 'Adjusted qty value should not be lower than released qty, kindly contact our support if you have difficulties'\n )\n }\n\n if (foundExistingPallet) {\n delete patches[i].serialNumbers\n _updateRecords.push(patches[i])\n } else {\n _createRecords.push(patches[i])\n }\n }\n\n const inventoryChangeRepo = tx.getRepository(InventoryChange)\n const inventoryItemChangeRepo = tx.getRepository(InventoryItemChange)\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n var location = await tx.getRepository(Location).findOne({\n where: { id: newRecord.location.id },\n relations: ['warehouse']\n })\n newRecord.location = location\n newRecord.zone = location.zone\n newRecord.warehouse = location.warehouse\n\n newRecord.bizplace = await tx.getRepository(Bizplace).findOne(newRecord.bizplace.id)\n\n var product: Product = await tx.getRepository(Product).findOne(newRecord.product.id)\n newRecord.product = product\n\n newRecord.status = 'PENDING'\n newRecord.transactionType = 'NEW'\n\n newRecord.expirationDate =\n ((newRecord?.expirationDate && new Date(newRecord.expirationDate).getFullYear()) || 0) < 2000\n ? null\n : newRecord.expirationDate\n\n const newInventoryChange: InventoryChange = await inventoryChangeRepo.save({\n ...newRecord,\n id: undefined,\n name: InventoryNoGenerator.inventoryName(),\n domain: domain,\n creator: user,\n updater: user\n })\n\n if (newRecord?.serialNumbers) {\n let serialNumbers: string = newRecord.serialNumbers\n let newSerialNumbers: any = serialNumbers.split(',')\n let inventoryItemChanges: InventoryItemChange[] = []\n\n for (let i = 0; i < newSerialNumbers.length; i++) {\n let newSerialNumber: string = newSerialNumbers[i]\n let inventoryItemChange: any = {\n serialNumber: newSerialNumber,\n type: INVENTORY_ITEM_CHANGE_TYPE.NEW\n }\n\n inventoryItemChanges.push(inventoryItemChange)\n }\n\n newRecord.inventoryItemChangesJson = JSON.stringify(inventoryItemChanges)\n }\n\n // create new inventory items\n if (newRecord?.inventoryItemChangesJson) {\n const inventoryItemChanges: InventoryItemChange[] = JSON.parse(newRecord.inventoryItemChangesJson)\n if (product?.isRequireSerialNumberScanningInbound) {\n if (inventoryItemChanges?.length != newRecord?.qty) {\n throw new Error('Serial Numbers not tally with quantity')\n }\n }\n\n let newInventoryItemChanges: InventoryItemChange[] = []\n\n inventoryItemChanges.map(inventoryItemChange => {\n let newInventoryItemChange: InventoryItemChange = new InventoryItemChange()\n newInventoryItemChange.name = InventoryNoGenerator.inventoryName()\n newInventoryItemChange.serialNumber = inventoryItemChange.serialNumber\n newInventoryItemChange.type = inventoryItemChange.type\n newInventoryItemChange.status = newInventoryChange.status\n newInventoryItemChange.inventoryItem =\n newInventoryItemChange?.type == INVENTORY_ITEM_CHANGE_TYPE.NEW\n ? null\n : newInventoryItemChange.inventoryItem\n newInventoryItemChange.inventoryChange = newInventoryChange\n newInventoryItemChange.domain = domain\n newInventoryItemChange.creator = user\n newInventoryItemChange.updater = user\n\n newInventoryItemChanges.push(newInventoryItemChange)\n })\n\n await inventoryItemChangeRepo.save(newInventoryItemChanges)\n }\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n\n let existingRecord = await tx.getRepository(Inventory).findOne({\n where: { domain, palletId: updateRecord?.palletId },\n relations: ['location', 'warehouse', 'product', 'bizplace']\n })\n\n if (!existingRecord) {\n existingRecord = await tx.getRepository(Inventory).findOne({\n where: { domain, id: updateRecord?.id },\n relations: ['location', 'warehouse', 'product', 'bizplace']\n })\n }\n\n if (!!updateRecord?.location?.id) {\n var location = await tx.getRepository(Location).findOne({\n where: { id: updateRecord.location.id },\n relations: ['warehouse']\n })\n updateRecord.location = location\n updateRecord.zone = location.zone\n updateRecord.warehouse = location.warehouse\n }\n\n if (!!updateRecord?.bizplace?.id)\n updateRecord.bizplace = await tx.getRepository(Bizplace).findOne(updateRecord.bizplace.id)\n\n let product: Product\n\n if (!!updateRecord?.product?.id) {\n product = await tx.getRepository(Product).findOne(updateRecord.product.id)\n updateRecord.product = product\n } else {\n product = existingRecord.product\n }\n\n updateRecord.transactionType == 'MISSING'\n ? (updateRecord.transactionType = 'MISSING')\n : (updateRecord.transactionType = 'CHANGES')\n\n updateRecord.status = 'PENDING'\n\n updateRecord.expirationDate =\n ((updateRecord?.expirationDate && new Date(updateRecord.expirationDate).getFullYear()) || 0) < 2000\n ? null\n : updateRecord.expirationDate\n\n const updatedInventoryChange: InventoryChange = await inventoryChangeRepo.save({\n palletId: existingRecord.palletId,\n ...updateRecord,\n id: undefined,\n name: InventoryNoGenerator.inventoryName(),\n inventory: existingRecord,\n domain: domain,\n creator: user,\n updater: user\n })\n\n // create new inventory items\n if (updateRecord?.inventoryItemChangesJson) {\n const originalInventoryItems: InventoryItem[] = await tx.getRepository(InventoryItem).find({\n where: { domain, inventory: existingRecord }\n })\n const inventoryItemChanges: InventoryItemChange[] = JSON.parse(updateRecord.inventoryItemChangesJson)\n if (product?.isRequireSerialNumberScanningInbound) {\n const combinedInventoryItems: any[] = [...originalInventoryItems, ...inventoryItemChanges]\n let qty: number = updateRecord?.qty ? updateRecord.qty : existingRecord.qty\n if (combinedInventoryItems?.length != qty) {\n throw new Error('Serial Numbers not tally with quantity')\n }\n }\n\n let newInventoryItemChanges: InventoryItemChange[] = []\n\n inventoryItemChanges.map(inventoryItemChange => {\n let newInventoryItemChange: InventoryItemChange = new InventoryItemChange()\n newInventoryItemChange.name = InventoryNoGenerator.inventoryName()\n newInventoryItemChange.serialNumber = inventoryItemChange.serialNumber\n newInventoryItemChange.type = inventoryItemChange.type\n newInventoryItemChange.status = updatedInventoryChange.status\n newInventoryItemChange.inventory = updatedInventoryChange.inventory\n newInventoryItemChange.inventoryItem =\n newInventoryItemChange?.type == INVENTORY_ITEM_CHANGE_TYPE.NEW\n ? null\n : newInventoryItemChange.inventoryItem\n newInventoryItemChange.inventoryChange = updatedInventoryChange\n newInventoryItemChange.domain = domain\n newInventoryItemChange.creator = user\n newInventoryItemChange.updater = user\n\n newInventoryItemChanges.push(newInventoryItemChange)\n })\n\n await inventoryItemChangeRepo.save(newInventoryItemChanges)\n }\n }\n }\n\n const notificationApprover: any = await tx\n .getRepository(Privilege)\n .createQueryBuilder('p')\n .select('u.*')\n .addSelect('r.*')\n .innerJoin('p.roles', 'r')\n .innerJoin('r.users', 'u')\n .where('p.name = :name', { name: 'mutation' })\n .andWhere('p.category = :category', { category: 'inventory' })\n .andWhere('r.domain_id = :domainId', { domainId: domain.id })\n .groupBy('u.id')\n .addGroupBy('r.id')\n .getRawMany()\n\n if (_updateRecords.some(res => res.transactionType == 'MISSING')) {\n if (notificationApprover?.length && context.header?.referer) {\n const receivers: any[] = notificationApprover.map(user => user.id)\n const msg = {\n title: `Missing stock identified. Review this transaction in Inventory Adjustment Approval.`,\n body: ``,\n url: context.header.referer,\n data: { url: context.header.referer }\n }\n await sendNotification({\n receivers,\n message: { ...msg }\n })\n }\n } else {\n if (notificationApprover?.length && context.header?.referer) {\n const receivers: any[] = notificationApprover.map(user => user.id)\n const msg = {\n title: `There is an inventory adjustment pending for approval, kindly review within 1 hour to avoid any operation conflict.`,\n body: ``,\n url: context.header.referer,\n data: { url: context.header.referer }\n }\n await sendNotification({\n receivers,\n message: { ...msg }\n })\n }\n }\n\n return true\n }\n\n @Directive('@privilege(category: \"inventory_adjustment_approval\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => InventoryChangeList)\n async approveInventoryChanges(\n @Arg('patches', type => [InventoryChangePatch]) patches: InventoryChangePatch[],\n @Ctx() context: any\n ): Promise<InventoryChangeList> {\n const inventoryChangeList = await approveInventoryChanges(patches, context)\n\n return inventoryChangeList\n }\n\n @Directive('@privilege(category: \"inventory_adjustment_approval\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async rejectInventoryChanges(\n @Arg('patches', type => [InventoryChangePatch]) patches: InventoryChangePatch[],\n @Ctx() context: any\n ): Promise<Boolean> {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n const _inventoryChanges = await tx.getRepository(InventoryChange).find({\n where: { id: In(patches.map(item => item.id)) },\n relations: [\n 'inventory',\n 'inventory.bizplace',\n 'inventory.product',\n 'inventory.location',\n 'inventory.warehouse',\n 'bizplace',\n 'product',\n 'location'\n ]\n })\n\n if (_inventoryChanges.length > 0) {\n for (let i = 0; i < _inventoryChanges.length; i++) {\n if (_inventoryChanges[i].status.toLocaleLowerCase() != 'pending') return true\n _inventoryChanges[i].status = 'REJECTED'\n\n // Get last row of InventoryHistory\n let latestEntry = await tx.getRepository(InventoryHistory).find({\n where: { palletId: _inventoryChanges[i].palletId, domain: domain },\n order: { seq: 'DESC' },\n take: 1\n })\n\n if (latestEntry.length > 0) _inventoryChanges[i].lastInventoryHistory = latestEntry[0]\n\n await upsertInventoryItems(context, _inventoryChanges[i], 'REJECTED', tx)\n }\n\n await tx.getRepository(InventoryChange).save(_inventoryChanges.filter(change => change.status == 'REJECTED'))\n }\n return true\n }\n}\n\nfunction clean(obj) {\n var propNames = Object.getOwnPropertyNames(obj)\n for (var i = 0; i < propNames.length; i++) {\n var propName = propNames[i]\n if (obj[propName] === null || obj[propName] === undefined) {\n delete obj[propName]\n }\n }\n}\n\nasync function upsertInventoryItems(context, inventoryChange, approvalStatus, tx) {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n let inventoryItemChanges: InventoryItemChange[] = await tx.getRepository(InventoryItemChange).find({\n where: { domain, inventoryChange: inventoryChange, status: 'PENDING' },\n relations: ['domain', 'inventoryItem', 'inventory', 'inventory.product', 'inventoryChange']\n })\n await Promise.all(\n inventoryItemChanges.map(async inventoryItemChange => {\n let inventoryItem: InventoryItem = new InventoryItem()\n if (approvalStatus == 'APPROVED') {\n const changeType: string = inventoryItemChange.type\n const existingInventoryItem: InventoryItem = inventoryItemChange.inventoryItem\n if (changeType == INVENTORY_ITEM_CHANGE_TYPE.NEW) {\n const foundSerialNumber: Boolean = await checkExistingSerialNumber(\n inventoryItemChange.serialNumber,\n inventoryChange.inventory.product,\n context,\n inventoryChange.inventory,\n tx\n )\n\n if (foundSerialNumber) throw new Error(`Serial number ${inventoryItemChange.serialNumber} is duplicated`)\n\n inventoryItem.name = InventoryNoGenerator.inventoryName()\n inventoryItem.serialNumber = inventoryItemChange.serialNumber\n inventoryItem.status = INVENTORY_STATUS.STORED\n inventoryItem.product = inventoryChange.inventory.product\n inventoryItem.domain = inventoryItemChange.domain\n inventoryItem.inventory = inventoryChange.inventory\n inventoryItem.source = INVENTORY_ITEM_SOURCE.ADJUSTMENT\n inventoryItem.creator = user\n inventoryItem.updater = user\n } else if (changeType == INVENTORY_ITEM_CHANGE_TYPE.MODIFIED) {\n const foundSerialNumber: Boolean = await checkExistingSerialNumber(\n inventoryItemChange.serialNumber,\n inventoryItemChange.inventory.product,\n context,\n inventoryItemChange.inventory,\n tx\n )\n\n if (foundSerialNumber) throw new Error(`Serial number ${inventoryItemChange.serialNumber} is duplicated`)\n\n inventoryItem = {\n ...existingInventoryItem,\n serialNumber: inventoryItemChange.serialNumber,\n product: inventoryItemChange.inventory.product\n }\n } else if (changeType == INVENTORY_ITEM_CHANGE_TYPE.REMOVED) {\n inventoryItem = {\n ...existingInventoryItem,\n status: INVENTORY_STATUS.DELETED\n }\n }\n\n inventoryItem = await tx.getRepository(InventoryItem).save(inventoryItem)\n }\n\n await tx\n .getRepository(InventoryItemChange)\n .update({ id: inventoryItemChange.id }, { status: approvalStatus, inventoryItem })\n })\n )\n}\n\nexport async function approveInventoryChanges(patches: any, context: any) {\n const { domain, user, tx }: { domain: Domain; user: User; tx: EntityManager } = context.state\n\n // Get Selected Inventory Change Data\n const _inventoryChanges = await tx.getRepository(InventoryChange).find({\n where: { id: In(patches.map(item => item.id)) },\n relations: [\n 'inventory',\n 'inventory.bizplace',\n 'inventory.bizplace.domain',\n 'inventory.product',\n 'inventory.location',\n 'inventory.warehouse',\n 'bizplace',\n 'bizplace.domain',\n 'bizplace.company',\n 'bizplace.company.domain',\n 'product',\n 'product.productDetails',\n 'product.productDetails.childProductDetail',\n 'location'\n ],\n order: {\n createdAt: 'ASC'\n }\n })\n\n let arrLockedInventory: InventoryChange[] = []\n\n if (_inventoryChanges.length > 0) {\n let today = new Date(),\n year = today.getFullYear(),\n month = today.getMonth(),\n date = today.getDate()\n\n for (let i = 0; i < _inventoryChanges.length; i++) {\n if (_inventoryChanges[i].status.toLocaleLowerCase() != 'pending') continue\n\n const newRecord: any = { ..._inventoryChanges[i] },\n newHistoryRecord: any = { ..._inventoryChanges[i] }\n\n // Adjustment of existing Inventory\n if (_inventoryChanges[i].inventory != null) {\n let inventoryId = _inventoryChanges[i].inventory.id\n let inventory: Inventory = await tx.getRepository(Inventory).findOne({\n where: { id: inventoryId },\n relations: [\n 'domain',\n 'bizplace',\n 'bizplace.domain',\n 'bizplace.company',\n 'bizplace.company.domain',\n 'product',\n 'product.productDetails',\n 'product.productDetails.childProductDetail',\n 'warehouse',\n 'location',\n 'creator',\n 'updater'\n ]\n })\n\n const customerDomain: Domain = inventory.bizplace.domain\n\n // Check for locked inventory, and stop from udpating inventory\n if (inventory.qty < inventory.lockedQty) {\n arrLockedInventory.push(_inventoryChanges[i])\n continue\n }\n\n // Check for Terminated inventory, then update InventoryChange entity, and stop from udpating inventory\n if (inventory.status == INVENTORY_STATUS.TERMINATED) {\n _inventoryChanges[i] = { ..._inventoryChanges[i], status: 'TERMINATED' }\n continue\n }\n\n let lastSeq = inventory.lastSeq,\n transactionType = ''\n\n newHistoryRecord.openingQty = inventory.qty\n newHistoryRecord.openingUomValue = inventory.uomValue\n\n // Get last row of InventoryHistory\n let latestEntry = await tx.getRepository(InventoryHistory).findOne({\n where: { palletId: inventory.palletId, domain: domain },\n order: { seq: 'DESC' }\n })\n _inventoryChanges[i].lastInventoryHistory = latestEntry\n\n // Check Change of existing inventory location\n if (newRecord.location && newRecord.location.id != inventory.location.id) {\n newRecord.zone = newRecord.location.zone\n newRecord.warehouse = newRecord.location.warehouse\n transactionType = 'ADJUSTMENT'\n\n // Check and set current location status\n let currentLocationInventoryCount = await tx.getRepository(Inventory).count({\n where: { location: inventory.location, status: 'STORED', id: Not(inventory.id) }\n })\n\n if (currentLocationInventoryCount == 0) {\n let currentLocation = await tx.getRepository(Location).findOne({\n where: { id: inventory.location.id }\n })\n await tx.getRepository(Location).save({\n ...currentLocation,\n status: LOCATION_STATUS.EMPTY\n })\n }\n }\n\n // Check Change of existing inventory quantity\n if (newRecord.qty != null && newRecord.qty != inventory.qty) {\n newHistoryRecord.qty = newRecord.qty - inventory.qty\n if (newRecord.qty < 1) {\n newRecord.qty = 0\n newRecord.uomValue = 0\n }\n transactionType = 'ADJUSTMENT'\n } else {\n newHistoryRecord.qty = 0\n }\n\n // Check Change of existing inventory uomValue\n if (newRecord.uomValue != null && newRecord.uomValue != inventory.uomValue) {\n newHistoryRecord.uomValue = newRecord.uomValue - inventory.uomValue\n Math.round(newHistoryRecord.uomValue * 100) / 100\n transactionType = 'ADJUSTMENT'\n } else {\n newHistoryRecord.uomValue = 0\n }\n\n // Terminate current inventory history if there is change of bizplace, product, batchId, packingType, or uom\n if (\n (newRecord.bizplace && inventory.bizplace.id !== newRecord.bizplace.id) ||\n (newRecord.product && inventory.product.id !== newRecord.product.id) ||\n (newRecord.batchId && inventory.batchId !== newRecord.batchId) ||\n (newRecord.packingType && inventory.packingType !== newRecord.packingType) ||\n (newRecord.uom && inventory.uom !== newRecord.uom)\n ) {\n transactionType = 'ADJUSTMENT'\n lastSeq = lastSeq + 1\n let inventoryHistory = {\n ...inventory,\n domain: domain,\n bizplace: inventory.bizplace.id,\n openingQty: inventory.qty,\n openingUomValue: inventory.uomValue,\n qty: -inventory.qty || 0,\n uom: inventory.uom,\n uomValue: -inventory.uomValue || 0,\n name: InventoryNoGenerator.inventoryHistoryName(),\n seq: lastSeq,\n transactionType: transactionType,\n status: INVENTORY_STATUS.TERMINATED,\n productId: inventory.product.id,\n warehouseId: inventory.warehouse.id,\n locationId: inventory.location.id,\n packingType: inventory.packingType,\n creator: user,\n updater: user\n }\n delete inventoryHistory.id\n delete inventoryHistory.createdAt\n delete inventoryHistory.updatedAt\n await tx.getRepository(InventoryHistory).save(inventoryHistory as any)\n newHistoryRecord.qty = newRecord.qty != null ? newRecord.qty : inventory.qty || 0\n newHistoryRecord.uomValue = newRecord.uomValue != null ? newRecord.uomValue : inventory.uomValue || 0\n newHistoryRecord.openingQty = 0\n newHistoryRecord.openingUomValue = 0\n }\n\n // Set and update inventory and inventory history data\n lastSeq = lastSeq + 1\n clean(newHistoryRecord)\n let inventoryHistory = {\n ...inventory,\n ...newHistoryRecord,\n domain: domain,\n creator: user,\n updater: user,\n name: InventoryNoGenerator.inventoryHistoryName(),\n status: newHistoryRecord.transactionType == 'MISSING' ? 'MISSING' : 'STORED',\n seq: lastSeq,\n transactionType: transactionType == '' ? 'ADJUSTMENT' : transactionType,\n productId: newRecord.product ? newRecord.product.id : inventory.product.id,\n warehouseId: newRecord.warehouse ? newRecord.warehouse.id : inventory.warehouse.id,\n locationId:\n newRecord.location && newRecord.location.id != inventory.location.id\n ? newRecord.location.id\n : inventory.location.id,\n uom: newRecord.uom != null ? newRecord.uom : inventory.uom\n }\n delete inventoryHistory.id\n delete inventoryHistory.createdAt\n delete inventoryHistory.updatedAt\n await tx.getRepository(InventoryHistory).save(inventoryHistory)\n\n if (newRecord.qty != null && newRecord.qty == 0) {\n ++lastSeq\n delete inventoryHistory.id\n inventoryHistory = {\n ...inventoryHistory,\n name: InventoryNoGenerator.inventoryHistoryName(),\n qty: 0,\n uomValue: 0,\n openingQty: 0,\n openingUomValue: 0,\n seq: lastSeq,\n transactionType: 'TERMINATED',\n status: 'TERMINATED'\n }\n\n await tx.getRepository(InventoryHistory).save(inventoryHistory)\n }\n\n clean(newRecord)\n let statusFilter = ''\n if (newRecord.transactionType == 'MISSING') {\n statusFilter = 'MISSING'\n } else {\n statusFilter = (newRecord.qty != null ? newRecord.qty : inventory.qty) > 0 ? 'STORED' : 'TERMINATED'\n }\n await tx.getRepository(Inventory).save({\n ...inventory,\n ...newRecord,\n id: inventoryId,\n status: statusFilter,\n updater: user,\n lastSeq: lastSeq\n })\n\n //Check and set latest location status\n if (newRecord.qty != null ? newRecord.qty : inventory.qty > 0) {\n var location = await tx.getRepository(Location).findOne({\n where: { id: newRecord.location ? newRecord.location.id : inventory.location.id }\n })\n await tx.getRepository(Location).save({\n ...location,\n status: LOCATION_STATUS.OCCUPIED\n })\n } else {\n let latestLocationInventoryCount = await tx.getRepository(Inventory).count({\n where: {\n location: newRecord.location ? newRecord.location.id : inventory.location.id,\n status: 'STORED',\n id: Not(inventory.id)\n }\n })\n if (latestLocationInventoryCount == 0) {\n let latestLocation = await tx.getRepository(Location).findOne({\n where: { id: newRecord.location ? newRecord.location.id : inventory.location.id }\n })\n await tx.getRepository(Location).save({\n ...latestLocation,\n status: LOCATION_STATUS.EMPTY\n })\n }\n }\n\n await upsertInventoryItems(context, _inventoryChanges[i], 'APPROVED', tx)\n\n const companyDomain: Domain = inventory.bizplace?.company.domain\n\n const sellercraft: Sellercraft = await tx\n .getRepository(Sellercraft)\n .findOne({ where: { domain: customerDomain, status: SellercraftStatus.ACTIVE }, relations: ['domain'] })\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n await sellercraftCtrl.updateSellercraftStock(sellercraft, inventory)\n if (newRecord?.product || newRecord?.bizplace) {\n if (!newRecord?.product) newRecord.product = inventory.product\n\n await sellercraftCtrl.updateSellercraftStock(sellercraft, newRecord)\n }\n }\n\n // check for any existing active marketplace connection, update marketplace selling qty\n const marketplaceStores: MarketplaceStore[] = await tx.getRepository(MarketplaceStore).find({\n where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },\n relations: ['marketplaceDistributors']\n })\n\n if (marketplaceStores?.length && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {\n const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)\n await ecommerceCtrl.updateProductVariationStock(marketplaceStores, inventory.product.id, companyDomain)\n\n if (newRecord?.product || newRecord?.bizplace)\n await ecommerceCtrl.updateProductVariationStock(marketplaceStores, newRecord.product.id, companyDomain)\n }\n }\n\n // Adding Inventory\n else {\n const total = await tx.getRepository(Inventory).count({\n createdAt: MoreThan(new Date(year, month, date))\n })\n\n const yy = String(year).substr(String(year).length - 2)\n const mm = String(month + 1).padStart(2, '0')\n const dd = String(date).padStart(2, '0')\n\n const dateStr = yy + mm + dd\n\n let palletId = newRecord.palletId\n\n if (!newRecord.palletId?.trim()) {\n palletId = await generateId({\n domain: domain,\n type: 'adjustment_pallet_id',\n seed: {\n batchId: newRecord.batchId,\n date: dateStr\n }\n })\n if (!palletId) throw new Error('No adjustment pallet id setting rule found')\n }\n\n var location = await tx.getRepository(Location).findOne({\n where: { id: newRecord.location.id },\n relations: ['warehouse']\n })\n newRecord.location = location\n newRecord.zone = location.zone\n newRecord.warehouse = location.warehouse\n\n newRecord.status = INVENTORY_STATUS.STORED\n newRecord.name = palletId\n newRecord.palletId = palletId\n\n const warehouseCartonSetting: Setting = await tx.getRepository(Setting).findOne({\n where: { domain, category: 'id-rule', name: 'enable-carton-label' }\n })\n\n const partnerCartonSetting: PartnerSetting = await tx.getRepository(PartnerSetting).findOne({\n where: { setting: warehouseCartonSetting, domain, partnerDomain: newRecord.bizplace?.domain }\n })\n\n if (partnerCartonSetting?.value) {\n let cartonId = await generateId({\n domain: domain,\n type: 'adjustment_carton_id',\n seed: { date: dateStr }\n })\n if (!cartonId) throw new Error('No adjustment carton id setting rule found')\n\n newRecord.cartonId = cartonId\n }\n\n let expirationDate =\n ((newRecord?.expirationDate && new Date(newRecord.expirationDate).getFullYear()) || 0) < 2000\n ? null\n : newRecord.expirationDate\n\n let savedInventory = await tx.getRepository(Inventory).save({\n ...newRecord,\n expirationDate,\n domain: domain,\n creator: user,\n updater: user,\n lastSeq: 0\n })\n\n await tx.getRepository(InventoryHistory).save({\n ...newRecord,\n domain: domain,\n creator: user,\n updater: user,\n name: InventoryNoGenerator.inventoryHistoryName(),\n seq: 0,\n transactionType: 'NEW',\n productId: newRecord.product.id,\n warehouseId: newRecord.warehouse.id,\n locationId: newRecord.location.id,\n inventory: savedInventory,\n expirationDate: expirationDate\n })\n\n await tx.getRepository(Location).save({\n ...location,\n status: LOCATION_STATUS.OCCUPIED\n })\n\n _inventoryChanges[i].inventory = savedInventory\n _inventoryChanges[i].palletId = savedInventory.palletId\n\n await upsertInventoryItems(context, _inventoryChanges[i], 'APPROVED', tx)\n\n const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({\n where: { domain: newRecord.bizplace.domain, status: SellercraftStatus.ACTIVE },\n relations: ['domain']\n })\n\n const companyDomain: Domain = newRecord.bizplace?.company.domain\n\n if (sellercraft) {\n const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)\n await sellercraftCtrl.updateSellercraftStock(sellercraft, newRecord)\n }\n\n // update marketplace store qty\n // check for any existing active marketplace connection, update marketplace selling qty\n const marketplaceStores: MarketplaceStore[] = await tx.getRepository(MarketplaceStore).find({\n where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },\n relations: ['marketplaceDistributors']\n })\n\n if (marketplaceStores?.length && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {\n const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)\n await ecommerceCtrl.updateProductVariationStock(marketplaceStores, newRecord.product.id, companyDomain)\n }\n }\n\n _inventoryChanges[i].status = 'APPROVED'\n }\n\n await tx.getRepository(InventoryChange).save(_inventoryChanges)\n }\n\n return { items: arrLockedInventory, total: arrLockedInventory.length }\n}\n"]}
|
|
@@ -1,19 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
2
|
var _a;
|
|
15
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
4
|
exports.InventoryChangeQuery = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
17
6
|
const type_graphql_1 = require("type-graphql");
|
|
18
7
|
const typeorm_1 = require("typeorm");
|
|
19
8
|
const auth_base_1 = require("@things-factory/auth-base");
|
|
@@ -78,44 +67,44 @@ let InventoryChangeQuery = class InventoryChangeQuery {
|
|
|
78
67
|
return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(inventoryChange.creatorId);
|
|
79
68
|
}
|
|
80
69
|
};
|
|
81
|
-
__decorate([
|
|
70
|
+
tslib_1.__decorate([
|
|
82
71
|
(0, type_graphql_1.Query)(returns => inventory_change_1.InventoryChange),
|
|
83
|
-
__param(0, (0, type_graphql_1.Arg)('name')),
|
|
84
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
85
|
-
__metadata("design:type", Function),
|
|
86
|
-
__metadata("design:paramtypes", [String, Object]),
|
|
87
|
-
__metadata("design:returntype", Promise)
|
|
72
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
|
73
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
74
|
+
tslib_1.__metadata("design:type", Function),
|
|
75
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
76
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
88
77
|
], InventoryChangeQuery.prototype, "inventoryChange", null);
|
|
89
|
-
__decorate([
|
|
78
|
+
tslib_1.__decorate([
|
|
90
79
|
(0, type_graphql_1.Query)(returns => inventory_change_types_1.InventoryChangeList),
|
|
91
|
-
__param(0, (0, type_graphql_1.Args)()),
|
|
92
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
93
|
-
__metadata("design:type", Function),
|
|
94
|
-
__metadata("design:paramtypes", [typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object, Object]),
|
|
95
|
-
__metadata("design:returntype", Promise)
|
|
80
|
+
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
81
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
82
|
+
tslib_1.__metadata("design:type", Function),
|
|
83
|
+
tslib_1.__metadata("design:paramtypes", [typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object, Object]),
|
|
84
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
96
85
|
], InventoryChangeQuery.prototype, "inventoryChanges", null);
|
|
97
|
-
__decorate([
|
|
86
|
+
tslib_1.__decorate([
|
|
98
87
|
(0, type_graphql_1.FieldResolver)(type => inventory_change_1.InventoryChange),
|
|
99
|
-
__param(0, (0, type_graphql_1.Root)()),
|
|
100
|
-
__metadata("design:type", Function),
|
|
101
|
-
__metadata("design:paramtypes", [inventory_change_1.InventoryChange]),
|
|
102
|
-
__metadata("design:returntype", Promise)
|
|
88
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
89
|
+
tslib_1.__metadata("design:type", Function),
|
|
90
|
+
tslib_1.__metadata("design:paramtypes", [inventory_change_1.InventoryChange]),
|
|
91
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
103
92
|
], InventoryChangeQuery.prototype, "domain", null);
|
|
104
|
-
__decorate([
|
|
93
|
+
tslib_1.__decorate([
|
|
105
94
|
(0, type_graphql_1.FieldResolver)(type => inventory_change_1.InventoryChange),
|
|
106
|
-
__param(0, (0, type_graphql_1.Root)()),
|
|
107
|
-
__metadata("design:type", Function),
|
|
108
|
-
__metadata("design:paramtypes", [inventory_change_1.InventoryChange]),
|
|
109
|
-
__metadata("design:returntype", Promise)
|
|
95
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
96
|
+
tslib_1.__metadata("design:type", Function),
|
|
97
|
+
tslib_1.__metadata("design:paramtypes", [inventory_change_1.InventoryChange]),
|
|
98
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
110
99
|
], InventoryChangeQuery.prototype, "updater", null);
|
|
111
|
-
__decorate([
|
|
100
|
+
tslib_1.__decorate([
|
|
112
101
|
(0, type_graphql_1.FieldResolver)(type => inventory_change_1.InventoryChange),
|
|
113
|
-
__param(0, (0, type_graphql_1.Root)()),
|
|
114
|
-
__metadata("design:type", Function),
|
|
115
|
-
__metadata("design:paramtypes", [inventory_change_1.InventoryChange]),
|
|
116
|
-
__metadata("design:returntype", Promise)
|
|
102
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
103
|
+
tslib_1.__metadata("design:type", Function),
|
|
104
|
+
tslib_1.__metadata("design:paramtypes", [inventory_change_1.InventoryChange]),
|
|
105
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
117
106
|
], InventoryChangeQuery.prototype, "creator", null);
|
|
118
|
-
InventoryChangeQuery = __decorate([
|
|
107
|
+
InventoryChangeQuery = tslib_1.__decorate([
|
|
119
108
|
(0, type_graphql_1.Resolver)(inventory_change_1.InventoryChange)
|
|
120
109
|
], InventoryChangeQuery);
|
|
121
110
|
exports.InventoryChangeQuery = InventoryChangeQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory-change-query.js","sourceRoot":"","sources":["../../../server/service/inventory-change/inventory-change-query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inventory-change-query.js","sourceRoot":"","sources":["../../../server/service/inventory-change/inventory-change-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Brackets, getRepository, SelectQueryBuilder } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { buildQuery, Domain, ListParam } from '@things-factory/shell'\n\nimport { InventoryChange } from './inventory-change'\nimport { InventoryChangeList } from './inventory-change-types'\n\n@Resolver(InventoryChange)\nexport class InventoryChangeQuery {\n @Query(returns => InventoryChange)\n async inventoryChange(@Arg('name') name: string, @Ctx() context: any): Promise<InventoryChange> {\n const { domain }: { domain: Domain } = context.state\n\n return await getRepository(InventoryChange).findOne({\n where: { domain: domain, name },\n relations: ['domain', 'creator', 'updater']\n })\n }\n\n @Query(returns => InventoryChangeList)\n async inventoryChanges(@Args() params: ListParam, @Ctx() context: any): Promise<InventoryChangeList> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n let bizplaces: any[]\n if (!params.filters.find(filter => filter.name === 'bizplace')) {\n bizplaces = await getPermittedBizplaceIds(domain, user)\n } else {\n bizplaces = [params.filters.find(filter => filter.name === 'bizplace').value]\n params.filters = [...params.filters.filter(filter => filter.name != 'bizplace')]\n }\n\n const qb: SelectQueryBuilder<InventoryChange> = getRepository(InventoryChange).createQueryBuilder('ic')\n buildQuery(qb, params, context)\n\n qb.innerJoinAndSelect('ic.domain', 'dm')\n .leftJoinAndSelect('ic.bizplace', 'biz')\n .leftJoinAndSelect('ic.inventory', 'iv')\n .leftJoinAndSelect('iv.bizplace', 'ivBiz')\n .leftJoinAndSelect('iv.product', 'ivPrd')\n .leftJoinAndSelect('iv.location', 'ivLoc')\n .leftJoinAndSelect('ic.product', 'product')\n .leftJoinAndSelect('ic.location', 'location')\n .leftJoinAndSelect('ic.lastInventoryHistory', 'livh')\n .leftJoinAndSelect('ic.inventoryItemChange', 'itc')\n .leftJoinAndSelect('livh.product', 'livhProduct')\n .leftJoinAndSelect('livh.warehouse', 'livhWarehouse')\n .leftJoinAndSelect('livh.location', 'livhLocation')\n .leftJoinAndSelect('livh.bizplace', 'livhBiz')\n .innerJoinAndSelect('ic.creator', 'creator')\n .innerJoinAndSelect('ic.updater', 'updater')\n .orderBy('ic.createdAt', 'DESC')\n\n qb.andWhere(\n new Brackets(qb => {\n qb.where('\"iv\".\"bizplace_id\" IN (:...bizplaces)')\n qb.orWhere('\"ic\".\"bizplace_id\" IN (:...bizplaces)')\n })\n )\n\n qb.setParameters({\n bizplaces: bizplaces\n })\n\n let [items, total] = await qb.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => InventoryChange)\n async domain(@Root() inventoryChange: InventoryChange) {\n return await getRepository(Domain).findOne(inventoryChange.domainId)\n }\n\n @FieldResolver(type => InventoryChange)\n async updater(@Root() inventoryChange: InventoryChange) {\n return await getRepository(User).findOne(inventoryChange.updaterId)\n }\n\n @FieldResolver(type => InventoryChange)\n async creator(@Root() inventoryChange: InventoryChange) {\n return await getRepository(User).findOne(inventoryChange.creatorId)\n }\n}\n"]}
|
|
@@ -1,64 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.NewInventoryChange = exports.InventoryChangePatch = exports.InventoryChangeList = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
13
5
|
const type_graphql_1 = require("type-graphql");
|
|
14
6
|
const inventory_change_1 = require("./inventory-change");
|
|
15
7
|
let InventoryChangeList = class InventoryChangeList {
|
|
16
8
|
};
|
|
17
|
-
__decorate([
|
|
9
|
+
tslib_1.__decorate([
|
|
18
10
|
(0, type_graphql_1.Field)(type => [inventory_change_1.InventoryChange], { nullable: true }),
|
|
19
|
-
__metadata("design:type", Array)
|
|
11
|
+
tslib_1.__metadata("design:type", Array)
|
|
20
12
|
], InventoryChangeList.prototype, "items", void 0);
|
|
21
|
-
__decorate([
|
|
13
|
+
tslib_1.__decorate([
|
|
22
14
|
(0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
|
|
23
|
-
__metadata("design:type", Number)
|
|
15
|
+
tslib_1.__metadata("design:type", Number)
|
|
24
16
|
], InventoryChangeList.prototype, "total", void 0);
|
|
25
|
-
InventoryChangeList = __decorate([
|
|
17
|
+
InventoryChangeList = tslib_1.__decorate([
|
|
26
18
|
(0, type_graphql_1.ObjectType)()
|
|
27
19
|
], InventoryChangeList);
|
|
28
20
|
exports.InventoryChangeList = InventoryChangeList;
|
|
29
21
|
let InventoryChangePatch = class InventoryChangePatch {
|
|
30
22
|
};
|
|
31
|
-
__decorate([
|
|
23
|
+
tslib_1.__decorate([
|
|
32
24
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
33
|
-
__metadata("design:type", String)
|
|
25
|
+
tslib_1.__metadata("design:type", String)
|
|
34
26
|
], InventoryChangePatch.prototype, "id", void 0);
|
|
35
|
-
__decorate([
|
|
27
|
+
tslib_1.__decorate([
|
|
36
28
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
37
|
-
__metadata("design:type", String)
|
|
29
|
+
tslib_1.__metadata("design:type", String)
|
|
38
30
|
], InventoryChangePatch.prototype, "name", void 0);
|
|
39
|
-
__decorate([
|
|
31
|
+
tslib_1.__decorate([
|
|
40
32
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
41
|
-
__metadata("design:type", String)
|
|
33
|
+
tslib_1.__metadata("design:type", String)
|
|
42
34
|
], InventoryChangePatch.prototype, "description", void 0);
|
|
43
|
-
__decorate([
|
|
35
|
+
tslib_1.__decorate([
|
|
44
36
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
45
|
-
__metadata("design:type", String)
|
|
37
|
+
tslib_1.__metadata("design:type", String)
|
|
46
38
|
], InventoryChangePatch.prototype, "cuFlag", void 0);
|
|
47
|
-
InventoryChangePatch = __decorate([
|
|
39
|
+
InventoryChangePatch = tslib_1.__decorate([
|
|
48
40
|
(0, type_graphql_1.InputType)()
|
|
49
41
|
], InventoryChangePatch);
|
|
50
42
|
exports.InventoryChangePatch = InventoryChangePatch;
|
|
51
43
|
let NewInventoryChange = class NewInventoryChange {
|
|
52
44
|
};
|
|
53
|
-
__decorate([
|
|
45
|
+
tslib_1.__decorate([
|
|
54
46
|
(0, type_graphql_1.Field)(),
|
|
55
|
-
__metadata("design:type", String)
|
|
47
|
+
tslib_1.__metadata("design:type", String)
|
|
56
48
|
], NewInventoryChange.prototype, "name", void 0);
|
|
57
|
-
__decorate([
|
|
49
|
+
tslib_1.__decorate([
|
|
58
50
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
59
|
-
__metadata("design:type", String)
|
|
51
|
+
tslib_1.__metadata("design:type", String)
|
|
60
52
|
], NewInventoryChange.prototype, "description", void 0);
|
|
61
|
-
NewInventoryChange = __decorate([
|
|
53
|
+
NewInventoryChange = tslib_1.__decorate([
|
|
62
54
|
(0, type_graphql_1.InputType)()
|
|
63
55
|
], NewInventoryChange);
|
|
64
56
|
exports.NewInventoryChange = NewInventoryChange;
|