@things-factory/warehouse-base 7.1.23 → 7.1.25
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/service/warehouse/warehouse-mutation.js +24 -0
- package/dist-server/service/warehouse/warehouse-mutation.js.map +1 -1
- package/dist-server/service/warehouse/warehouse-query.js +5 -3
- package/dist-server/service/warehouse/warehouse-query.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/server/service/warehouse/warehouse-mutation.ts +36 -1
- package/server/service/warehouse/warehouse-query.ts +8 -7
|
@@ -7,8 +7,10 @@ exports.deleteWarehouse = deleteWarehouse;
|
|
|
7
7
|
exports.deleteWarehouses = deleteWarehouses;
|
|
8
8
|
const tslib_1 = require("tslib");
|
|
9
9
|
const type_graphql_1 = require("type-graphql");
|
|
10
|
+
const typeorm_1 = require("typeorm");
|
|
10
11
|
const warehouse_1 = require("./warehouse");
|
|
11
12
|
const warehouse_types_1 = require("./warehouse-types");
|
|
13
|
+
const product_base_1 = require("@things-factory/product-base");
|
|
12
14
|
let WarehouseMutation = class WarehouseMutation {
|
|
13
15
|
async createWarehouse(warehouse, context) {
|
|
14
16
|
return await createWarehouse(warehouse, context);
|
|
@@ -37,9 +39,31 @@ let WarehouseMutation = class WarehouseMutation {
|
|
|
37
39
|
return results;
|
|
38
40
|
}
|
|
39
41
|
async deleteWarehouse(id, context) {
|
|
42
|
+
const { domain, user, tx } = context.state;
|
|
43
|
+
const product = await tx.getRepository(product_base_1.Product).findOne({
|
|
44
|
+
where: {
|
|
45
|
+
domain: { id: domain.id },
|
|
46
|
+
warehouseId: (0, typeorm_1.Equal)(id)
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
if (product === null || product === void 0 ? void 0 : product.id) {
|
|
50
|
+
await tx.getRepository(product_base_1.Product).save(Object.assign(Object.assign({}, product), { warehouseId: null }));
|
|
51
|
+
}
|
|
40
52
|
return await deleteWarehouse(id, context);
|
|
41
53
|
}
|
|
42
54
|
async deleteWarehouses(ids, context) {
|
|
55
|
+
const { domain, user, tx } = context.state;
|
|
56
|
+
const products = await tx.getRepository(product_base_1.Product).find({
|
|
57
|
+
where: {
|
|
58
|
+
domain: { id: domain.id },
|
|
59
|
+
warehouseId: (0, typeorm_1.In)(ids)
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
if (products === null || products === void 0 ? void 0 : products.length) {
|
|
63
|
+
await tx.getRepository(product_base_1.Product).save(products.map(i => {
|
|
64
|
+
return Object.assign(Object.assign({}, i), { warehouseId: null });
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
43
67
|
return await deleteWarehouses(ids, context);
|
|
44
68
|
}
|
|
45
69
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warehouse-mutation.js","sourceRoot":"","sources":["../../../server/service/warehouse/warehouse-mutation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"warehouse-mutation.js","sourceRoot":"","sources":["../../../server/service/warehouse/warehouse-mutation.ts"],"names":[],"mappings":";;;AAgHA,0CAUC;AAED,0CAWC;AAED,0CAMC;AAED,4CAMC;;AAvJD,+CAAsE;AACtE,qCAA+C;AAE/C,2CAAuC;AACvC,uDAAgE;AAChE,+DAAsD;AAG/C,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAItB,AAAN,KAAK,CAAC,eAAe,CACD,SAAuB,EAClC,OAAwB;QAE/B,OAAO,MAAM,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAKK,AAAN,KAAK,CAAC,eAAe,CACR,EAAU,EACP,KAAqB,EAC5B,OAAwB;QAE/B,OAAO,MAAM,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAKK,AAAN,KAAK,CAAC,uBAAuB,CACe,OAAyB,EAC5D,OAAwB;QAE/B,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,CAAA;QAC3E,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QAEzF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBAC/B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAqB,EAAE,OAAO,CAAC,CAAA;gBACpE,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,KAAK,GAAmB,cAAc,CAAC,CAAC,CAAC,CAAA;gBAC/C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;gBAC9D,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAKK,AAAN,KAAK,CAAC,eAAe,CAAY,EAAU,EAAS,OAAwB;QAC1E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;gBACzB,WAAW,EAAE,IAAA,eAAK,EAAC,EAAE,CAAC;aACvB;SACF,CAAC,CAAA;QAEF,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,EAAE,CAAC;YAChB,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,IAAI,iCAC/B,OAAO,KACV,WAAW,EAAE,IAAI,IACjB,CAAA;QACJ,CAAC;QAED,OAAO,MAAM,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAKK,AAAN,KAAK,CAAC,gBAAgB,CACU,GAAa,EACpC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,IAAI,CAAC;YACpD,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;gBACzB,WAAW,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC;aACrB;SACF,CAAC,CAAA;QAEF,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,EAAE,CAAC;YACrB,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,IAAI,CAClC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACf,uCACK,CAAC,KACJ,WAAW,EAAE,IAAI,IAClB;YACH,CAAC,CAAC,CACH,CAAA;QACH,CAAC;QAED,OAAO,MAAM,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;CACF,CAAA;AAtGY,8CAAiB;AAItB;IAHL,IAAA,wBAAS,EAAC,0DAA0D,CAAC;IACrE,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,qBAAS,CAAC;IAE5B,mBAAA,IAAA,kBAAG,EAAC,WAAW,CAAC,CAAA;IAChB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CADuB,8BAAY;;wDAI1C;AAKK;IAHL,IAAA,wBAAS,EAAC,0DAA0D,CAAC;IACrE,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,qBAAS,CAAC;IAE5B,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IACT,mBAAA,IAAA,kBAAG,EAAC,OAAO,CAAC,CAAA;IACZ,mBAAA,IAAA,kBAAG,GAAE,CAAA;;qDADe,gCAAc;;wDAIpC;AAKK;IAHL,IAAA,wBAAS,EAAC,0DAA0D,CAAC;IACrE,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,qBAAS,CAAC,CAAC;IAE9B,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,gCAAc,CAAC,CAAC,CAAA;IACxC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;gEAuBP;AAKK;IAHL,IAAA,wBAAS,EAAC,0DAA0D,CAAC;IACrE,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;IACN,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;wDAiBlD;AAKK;IAHL,IAAA,wBAAS,EAAC,0DAA0D,CAAC;IACrE,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;IAE1B,mBAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5B,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;yDAsBP;4BArGU,iBAAiB;IAD7B,IAAA,uBAAQ,EAAC,qBAAS,CAAC;GACP,iBAAiB,CAsG7B;AAEM,KAAK,UAAU,eAAe,CAAC,SAAuB,EAAE,OAAwB;IACrF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAA0B,EAAE,CAAC,aAAa,CAAC,qBAAS,CAAC,CAAA;IACrE,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,SAAS,KACZ,MAAM,EACN,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,EAAU,EAAE,KAAqB,EAAE,OAAwB;IAC/F,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAA0B,EAAE,CAAC,aAAa,CAAC,qBAAS,CAAC,CAAA;IACrE,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAEpD,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,SAAS,GACT,KAAK,KACR,OAAO,EAAE,IAAI,IACb,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,EAAU,EAAE,OAAwB;IACxE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE5B,MAAM,UAAU,GAA0B,EAAE,CAAC,aAAa,CAAC,qBAAS,CAAC,CAAA;IACrE,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC3B,OAAO,IAAI,CAAA;AACb,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,GAAa,EAAE,OAAwB;IAC5E,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE5B,MAAM,UAAU,GAA0B,EAAE,CAAC,aAAa,CAAC,qBAAS,CAAC,CAAA;IACrE,MAAM,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC5B,OAAO,IAAI,CAAA;AACb,CAAC","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { Repository, In, Equal } from 'typeorm'\n\nimport { Warehouse } from './warehouse'\nimport { NewWarehouse, WarehousePatch } from './warehouse-types'\nimport { Product } from '@things-factory/product-base'\n\n@Resolver(Warehouse)\nexport class WarehouseMutation {\n @Directive('@privilege(category: \"warehouse\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Warehouse)\n async createWarehouse(\n @Arg('warehouse') warehouse: NewWarehouse,\n @Ctx() context: ResolverContext\n ): Promise<Warehouse> {\n return await createWarehouse(warehouse, context)\n }\n\n @Directive('@privilege(category: \"warehouse\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Warehouse)\n async updateWarehouse(\n @Arg('id') id: string,\n @Arg('patch') patch: WarehousePatch,\n @Ctx() context: ResolverContext\n ): Promise<Warehouse> {\n return await updateWarehouse(id, patch, context)\n }\n\n @Directive('@privilege(category: \"warehouse\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => [Warehouse])\n async updateMultipleWarehouse(\n @Arg('patches', type => [WarehousePatch]) patches: WarehousePatch[],\n @Ctx() context: ResolverContext\n ): Promise<Warehouse[]> {\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const patch = _createRecords[i]\n const result = await createWarehouse(patch as NewWarehouse, context)\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const patch: WarehousePatch = _updateRecords[i]\n const result = await updateWarehouse(patch.id, patch, context)\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@privilege(category: \"warehouse\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteWarehouse(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Boolean> {\n const { domain, user, tx } = context.state\n const product = await tx.getRepository(Product).findOne({\n where: {\n domain: { id: domain.id },\n warehouseId: Equal(id)\n }\n })\n\n if (product?.id) {\n await tx.getRepository(Product).save({\n ...product,\n warehouseId: null\n })\n }\n\n return await deleteWarehouse(id, context)\n }\n\n @Directive('@privilege(category: \"warehouse\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteWarehouses(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<Boolean> {\n const { domain, user, tx } = context.state\n const products = await tx.getRepository(Product).find({\n where: {\n domain: { id: domain.id },\n warehouseId: In(ids)\n }\n })\n\n if (products?.length) {\n await tx.getRepository(Product).save(\n products.map(i => {\n return {\n ...i,\n warehouseId: null\n }\n })\n )\n }\n\n return await deleteWarehouses(ids, context)\n }\n}\n\nexport async function createWarehouse(warehouse: NewWarehouse, context: ResolverContext): Promise<Warehouse> {\n const { domain, user, tx } = context.state\n\n const repository: Repository<Warehouse> = tx.getRepository(Warehouse)\n return await repository.save({\n ...warehouse,\n domain,\n creator: user,\n updater: user\n })\n}\n\nexport async function updateWarehouse(id: string, patch: WarehousePatch, context: ResolverContext): Promise<Warehouse> {\n const { domain, user, tx } = context.state\n\n const repository: Repository<Warehouse> = tx.getRepository(Warehouse)\n const warehouse = await repository.findOneBy({ id })\n\n return await repository.save({\n ...warehouse,\n ...patch,\n updater: user\n })\n}\n\nexport async function deleteWarehouse(id: string, context: ResolverContext) {\n const { tx } = context.state\n\n const repository: Repository<Warehouse> = tx.getRepository(Warehouse)\n await repository.delete(id)\n return true\n}\n\nexport async function deleteWarehouses(ids: string[], context: ResolverContext) {\n const { tx } = context.state\n\n const repository: Repository<Warehouse> = tx.getRepository(Warehouse)\n await repository.delete(ids)\n return true\n}\n"]}
|
|
@@ -21,11 +21,13 @@ let WarehouseQuery = class WarehouseQuery {
|
|
|
21
21
|
}
|
|
22
22
|
async warehouses(params, context) {
|
|
23
23
|
const { domain } = context.state;
|
|
24
|
-
const
|
|
25
|
-
domain
|
|
24
|
+
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
|
25
|
+
domain,
|
|
26
|
+
params,
|
|
27
|
+
repository: (0, shell_1.getRepository)(warehouse_1.Warehouse),
|
|
26
28
|
searchables: ['name', 'description']
|
|
27
29
|
});
|
|
28
|
-
const [items, total] = await
|
|
30
|
+
const [items, total] = await queryBuilder.getManyAndCount();
|
|
29
31
|
return { items, total };
|
|
30
32
|
}
|
|
31
33
|
async domain(warehouse) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warehouse-query.js","sourceRoot":"","sources":["../../../server/service/warehouse/warehouse-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAmF;AAEnF,yDAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"warehouse-query.js","sourceRoot":"","sources":["../../../server/service/warehouse/warehouse-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAmF;AAEnF,yDAAgD;AAChD,iDAAuG;AAEvG,2CAAuC;AACvC,uDAAiD;AAG1C,IAAM,cAAc,GAApB,MAAM,cAAc;IAEnB,AAAN,KAAK,CAAC,SAAS,CAAY,EAAU,EAAS,OAAwB;QACpE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,qBAAa,EAAC,qBAAS,CAAC,CAAC,OAAO,CAAC;YAC5C,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;gBACzB,EAAE;gBACF,UAAU;aACX;YACD,SAAS,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;SACzD,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CACW,MAAiB,EACnC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,MAAM;YACN,UAAU,EAAE,IAAA,qBAAa,EAAC,qBAAS,CAAC;YACpC,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;SACrC,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,SAAoB;QACvC,OAAO,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC1E,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,SAAoB;QACxC,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAA;IACzE,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,SAAoB;QACxC,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAA;IACzE,CAAC;CACF,CAAA;AAhDY,wCAAc;AAEnB;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,qBAAS,CAAC;IACX,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;+CAW5C;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,+BAAa,CAAC;IAE7B,mBAAA,IAAA,mBAAI,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC,CAAA;IACvB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAD2B,iBAAS;;gDAe3C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAY,qBAAS;;4CAExC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAY,qBAAS;;6CAEzC;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAY,qBAAS;;6CAEzC;yBA/CU,cAAc;IAD1B,IAAA,uBAAQ,EAAC,qBAAS,CAAC;GACP,cAAc,CAgD1B","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { Warehouse } from './warehouse'\nimport { WarehouseList } from './warehouse-types'\n\n@Resolver(Warehouse)\nexport class WarehouseQuery {\n @Query(returns => Warehouse)\n async warehouse(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Warehouse> {\n const { domain } = context.state\n\n return await getRepository(Warehouse).findOne({\n where: {\n domain: { id: domain.id },\n id\n /* name */\n },\n relations: ['domain', 'locations', 'creator', 'updater']\n })\n }\n\n @Query(returns => WarehouseList)\n async warehouses(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<WarehouseList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: getRepository(Warehouse),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() warehouse: Warehouse) {\n return await getRepository(Domain).findOneBy({ id: warehouse.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() warehouse: Warehouse) {\n return await getRepository(User).findOneBy({ id: warehouse.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() warehouse: Warehouse) {\n return await getRepository(User).findOneBy({ id: warehouse.creatorId })\n }\n}\n"]}
|