@dssp/project 0.0.2 → 0.0.6
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/client/pages/checklist/checklist-importer.ts +6 -8
- package/client/pages/checklist/checklist-list-page.ts +10 -25
- package/client/pages/project/popup/popup-plan-upload.ts +138 -0
- package/client/pages/project/{project-create-popup.ts → popup/popup-project-create.ts} +2 -3
- package/client/pages/project/project-detail.ts +11 -11
- package/client/pages/project/project-list.ts +17 -10
- package/client/pages/project/project-plan-management.ts +117 -39
- package/client/pages/project/project-schedule-list.ts +2 -0
- package/client/pages/project/project-schedule.ts +296 -7
- package/client/pages/project/project-setting-list.ts +10 -6
- package/client/pages/project/project-update.ts +5 -2
- package/client/pages/resource/construction-type-management.ts +211 -0
- package/client/pages/resource/manager-management.ts +202 -0
- package/client/pages/resource/worker-type-management.ts +226 -0
- package/client/pages/task/task-importer.ts +6 -8
- package/client/pages/task/task-list-page.ts +10 -25
- package/client/route.ts +8 -4
- package/dist-client/pages/checklist/checklist-importer.d.ts +1 -0
- package/dist-client/pages/checklist/checklist-importer.js +3 -2
- package/dist-client/pages/checklist/checklist-importer.js.map +1 -1
- package/dist-client/pages/checklist/checklist-list-page.d.ts +1 -0
- package/dist-client/pages/checklist/checklist-list-page.js +8 -16
- package/dist-client/pages/checklist/checklist-list-page.js.map +1 -1
- package/dist-client/pages/project/popup/popup-plan-upload.d.ts +10 -0
- package/dist-client/pages/project/popup/popup-plan-upload.js +139 -0
- package/dist-client/pages/project/popup/popup-plan-upload.js.map +1 -0
- package/dist-client/pages/project/{project-create-popup.d.ts → popup/popup-project-create.d.ts} +1 -3
- package/dist-client/pages/project/{project-create-popup.js → popup/popup-project-create.js} +9 -10
- package/dist-client/pages/project/popup/popup-project-create.js.map +1 -0
- package/dist-client/pages/project/project-detail.d.ts +5 -4
- package/dist-client/pages/project/project-detail.js +9 -10
- package/dist-client/pages/project/project-detail.js.map +1 -1
- package/dist-client/pages/project/project-list.d.ts +12 -2
- package/dist-client/pages/project/project-list.js +11 -14
- package/dist-client/pages/project/project-list.js.map +1 -1
- package/dist-client/pages/project/project-plan-management.d.ts +9 -4
- package/dist-client/pages/project/project-plan-management.js +105 -35
- package/dist-client/pages/project/project-plan-management.js.map +1 -1
- package/dist-client/pages/project/project-schedule-list.d.ts +1 -0
- package/dist-client/pages/project/project-schedule-list.js +1 -0
- package/dist-client/pages/project/project-schedule-list.js.map +1 -1
- package/dist-client/pages/project/project-schedule.d.ts +10 -3
- package/dist-client/pages/project/project-schedule.js +294 -7
- package/dist-client/pages/project/project-schedule.js.map +1 -1
- package/dist-client/pages/project/project-setting-list.d.ts +3 -2
- package/dist-client/pages/project/project-setting-list.js +9 -6
- package/dist-client/pages/project/project-setting-list.js.map +1 -1
- package/dist-client/pages/project/project-update.d.ts +3 -2
- package/dist-client/pages/project/project-update.js +4 -2
- package/dist-client/pages/project/project-update.js.map +1 -1
- package/dist-client/pages/resource/construction-type-management.d.ts +22 -0
- package/dist-client/pages/resource/construction-type-management.js +208 -0
- package/dist-client/pages/resource/construction-type-management.js.map +1 -0
- package/dist-client/pages/resource/manager-management.d.ts +31 -0
- package/dist-client/pages/resource/manager-management.js +196 -0
- package/dist-client/pages/resource/manager-management.js.map +1 -0
- package/dist-client/pages/resource/worker-type-management.d.ts +28 -0
- package/dist-client/pages/resource/worker-type-management.js +222 -0
- package/dist-client/pages/resource/worker-type-management.js.map +1 -0
- package/dist-client/pages/task/task-importer.d.ts +1 -0
- package/dist-client/pages/task/task-importer.js +3 -2
- package/dist-client/pages/task/task-importer.js.map +1 -1
- package/dist-client/pages/task/task-list-page.d.ts +1 -0
- package/dist-client/pages/task/task-list-page.js +8 -16
- package/dist-client/pages/task/task-list-page.js.map +1 -1
- package/dist-client/route.d.ts +1 -1
- package/dist-client/route.js +7 -4
- package/dist-client/route.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/controllers/index.d.ts +0 -0
- package/dist-server/controllers/project-to-excel.d.ts +7 -0
- package/dist-server/index.d.ts +2 -0
- package/dist-server/middlewares/index.d.ts +1 -0
- package/dist-server/routes.d.ts +1 -0
- package/dist-server/service/check-item/check-item-mutation.d.ts +10 -0
- package/dist-server/service/check-item/check-item-query.d.ts +11 -0
- package/dist-server/service/check-item/check-item-type.d.ts +18 -0
- package/dist-server/service/check-item/check-item.d.ts +18 -0
- package/dist-server/service/check-item/index.d.ts +5 -0
- package/dist-server/service/checklist/checklist-mutation.d.ts +10 -0
- package/dist-server/service/checklist/checklist-query.d.ts +11 -0
- package/dist-server/service/checklist/checklist-type.d.ts +18 -0
- package/dist-server/service/checklist/checklist.d.ts +26 -0
- package/dist-server/service/checklist/index.d.ts +5 -0
- package/dist-server/service/construction-type/construction-type-mutation.d.ts +6 -0
- package/dist-server/service/construction-type/construction-type-mutation.js +64 -0
- package/dist-server/service/construction-type/construction-type-mutation.js.map +1 -0
- package/dist-server/service/construction-type/construction-type-query.d.ts +11 -0
- package/dist-server/service/construction-type/construction-type-query.js +78 -0
- package/dist-server/service/construction-type/construction-type-query.js.map +1 -0
- package/dist-server/service/construction-type/construction-type-type.d.ts +11 -0
- package/dist-server/service/construction-type/construction-type-type.js +43 -0
- package/dist-server/service/construction-type/construction-type-type.js.map +1 -0
- package/dist-server/service/construction-type/construction-type.d.ts +16 -0
- package/dist-server/service/construction-type/construction-type.js +77 -0
- package/dist-server/service/construction-type/construction-type.js.map +1 -0
- package/dist-server/service/construction-type/index.d.ts +5 -0
- package/dist-server/service/construction-type/index.js +9 -0
- package/dist-server/service/construction-type/index.js.map +1 -0
- package/dist-server/service/index.d.ts +12 -0
- package/dist-server/service/index.js +12 -4
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/manager/index.d.ts +5 -0
- package/dist-server/service/manager/index.js +9 -0
- package/dist-server/service/manager/index.js.map +1 -0
- package/dist-server/service/manager/manager-mutation.d.ts +5 -0
- package/dist-server/service/manager/manager-mutation.js +39 -0
- package/dist-server/service/manager/manager-mutation.js.map +1 -0
- package/dist-server/service/manager/manager-query.d.ts +4 -0
- package/dist-server/service/manager/manager-query.js +39 -0
- package/dist-server/service/manager/manager-query.js.map +1 -0
- package/dist-server/service/manager/manager-type.d.ts +15 -0
- package/dist-server/service/manager/manager-type.js +62 -0
- package/dist-server/service/manager/manager-type.js.map +1 -0
- package/dist-server/service/manager/manager.d.ts +8 -0
- package/dist-server/service/manager/manager.js +41 -0
- package/dist-server/service/manager/manager.js.map +1 -0
- package/dist-server/service/project/index.d.ts +7 -0
- package/dist-server/service/project/project-mutation.d.ts +9 -0
- package/dist-server/service/project/project-mutation.js +61 -55
- package/dist-server/service/project/project-mutation.js.map +1 -1
- package/dist-server/service/project/project-query.d.ts +16 -0
- package/dist-server/service/project/project-query.js +3 -3
- package/dist-server/service/project/project-query.js.map +1 -1
- package/dist-server/service/project/project-type.d.ts +29 -0
- package/dist-server/service/project/project-type.js +1 -2
- package/dist-server/service/project/project-type.js.map +1 -1
- package/dist-server/service/project/project.d.ts +35 -0
- package/dist-server/service/project/project.js +1 -2
- package/dist-server/service/project/project.js.map +1 -1
- package/dist-server/service/task/index.d.ts +5 -0
- package/dist-server/service/task/task-mutation.d.ts +10 -0
- package/dist-server/service/task/task-query.d.ts +11 -0
- package/dist-server/service/task/task-type.d.ts +18 -0
- package/dist-server/service/task/task.d.ts +25 -0
- package/dist-server/service/worker-type/index.d.ts +5 -0
- package/dist-server/service/worker-type/index.js +9 -0
- package/dist-server/service/worker-type/index.js.map +1 -0
- package/dist-server/service/worker-type/worker-type-mutation.d.ts +6 -0
- package/dist-server/service/worker-type/worker-type-mutation.js +64 -0
- package/dist-server/service/worker-type/worker-type-mutation.js.map +1 -0
- package/dist-server/service/worker-type/worker-type-query.d.ts +11 -0
- package/dist-server/service/{resource/resource-query.js → worker-type/worker-type-query.js} +31 -39
- package/dist-server/service/worker-type/worker-type-query.js.map +1 -0
- package/dist-server/service/worker-type/worker-type-type.d.ts +11 -0
- package/dist-server/service/worker-type/worker-type-type.js +43 -0
- package/dist-server/service/worker-type/worker-type-type.js.map +1 -0
- package/dist-server/service/worker-type/worker-type.d.ts +16 -0
- package/dist-server/service/{resource/resource.js → worker-type/worker-type.js} +35 -20
- package/dist-server/service/worker-type/worker-type.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/server/service/construction-type/construction-type-mutation.ts +66 -0
- package/server/service/construction-type/construction-type-query.ts +47 -0
- package/server/service/construction-type/construction-type-type.ts +26 -0
- package/server/service/{resource/resource.ts → construction-type/construction-type.ts} +18 -6
- package/server/service/construction-type/index.ts +6 -0
- package/server/service/index.ts +12 -4
- package/server/service/manager/index.ts +6 -0
- package/server/service/manager/manager-mutation.ts +42 -0
- package/server/service/manager/manager-query.ts +28 -0
- package/server/service/manager/manager-type.ts +40 -0
- package/server/service/manager/manager.ts +29 -0
- package/server/service/project/project-mutation.ts +101 -79
- package/server/service/project/project-query.ts +5 -8
- package/server/service/worker-type/index.ts +6 -0
- package/server/service/worker-type/worker-type-mutation.ts +66 -0
- package/server/service/worker-type/worker-type-query.ts +47 -0
- package/server/service/worker-type/worker-type-type.ts +26 -0
- package/server/service/worker-type/worker-type.ts +68 -0
- package/things-factory.config.js +3 -0
- package/client/pages/project/ox-progress-circle.ts +0 -133
- package/client/pages/resource/resource-importer.ts +0 -96
- package/client/pages/resource/resource-list-page.ts +0 -355
- package/dist-client/pages/project/ox-progress-circle.d.ts +0 -41
- package/dist-client/pages/project/ox-progress-circle.js +0 -182
- package/dist-client/pages/project/ox-progress-circle.js.map +0 -1
- package/dist-client/pages/project/project-create-popup.js.map +0 -1
- package/dist-client/pages/resource/resource-importer.d.ts +0 -9
- package/dist-client/pages/resource/resource-importer.js +0 -100
- package/dist-client/pages/resource/resource-importer.js.map +0 -1
- package/dist-client/pages/resource/resource-list-page.d.ts +0 -62
- package/dist-client/pages/resource/resource-list-page.js +0 -331
- package/dist-client/pages/resource/resource-list-page.js.map +0 -1
- package/dist-server/service/resource/index.js +0 -9
- package/dist-server/service/resource/index.js.map +0 -1
- package/dist-server/service/resource/resource-mutation.js +0 -129
- package/dist-server/service/resource/resource-mutation.js.map +0 -1
- package/dist-server/service/resource/resource-query.js.map +0 -1
- package/dist-server/service/resource/resource-type.js +0 -69
- package/dist-server/service/resource/resource-type.js.map +0 -1
- package/dist-server/service/resource/resource.js.map +0 -1
- package/server/service/resource/index.ts +0 -6
- package/server/service/resource/resource-mutation.ts +0 -139
- package/server/service/resource/resource-query.ts +0 -56
- package/server/service/resource/resource-type.ts +0 -49
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-query.js","sourceRoot":"","sources":["../../../server/service/project/project-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA6E;AAC7E,iDAA6D;AAC7D,yDAAgD;AAChD,uCAAmC;AACnC,iDAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"project-query.js","sourceRoot":"","sources":["../../../server/service/project/project-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Arg, Ctx } from 'type-graphql'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { Project } from './project'\nimport { InspectionSummary, ProjectList } from './project-type'\nimport { BuildingComplex, InspectionStatus } from '@dssp/building-complex'\nimport { Attachment } from '@things-factory/attachment-base'\n\n@Resolver(Project)\nexport class ProjectQuery {\n @Query(returns => Project!, { nullable: true, description: 'To fetch a Project' })\n async project(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Project> {\n const { domain } = context.state\n\n return await getRepository(Project).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => ProjectList, { description: '프로젝트 리스트' })\n async projects(@Arg('projectName') projectName: string, @Ctx() context: ResolverContext): Promise<ProjectList> {\n const { domain } = context.state\n // const { page = 1, limit = 0 } = params.pagination || {}\n\n const queryBuilder = await getRepository(Project)\n .createQueryBuilder('p')\n .innerJoinAndSelect('p.buildingComplex', 'bc')\n .where('p.domain = :domain', { domain: domain.id })\n .orderBy('p.created_at', 'DESC')\n // .offset((page - 1) * limit)\n // .limit(limit)\n\n if (projectName) {\n projectName = `%${projectName}%`\n queryBuilder.andWhere('p.name LIKE :projectName', { projectName })\n }\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => InspectionSummary, { description: '프로젝트의 검측상태 별 카운트' })\n async inspectionSummary(@Arg('projectId') projectId: string, @Ctx() context: ResolverContext): Promise<InspectionSummary> {\n const { domain } = context.state\n\n const queryBuilder = getRepository(Project)\n .createQueryBuilder('p')\n .select(`COUNT(CASE WHEN bi.status='${InspectionStatus.REQUEST}' THEN 1 ELSE NULL END) AS request`)\n .addSelect(`COUNT(CASE WHEN bi.status='${InspectionStatus.PASS}' THEN 1 ELSE NULL END) AS pass`)\n .addSelect(`COUNT(CASE WHEN bi.status='${InspectionStatus.FAIL}' THEN 1 ELSE NULL END) AS fail`)\n .innerJoin('p.buildingComplex', 'bc')\n .innerJoin('bc.buildings', 'b')\n .innerJoin('b.buildingLevels', 'bl')\n .innerJoin('bl.buildingInspections', 'bi')\n .where('p.domain = :domain', { domain: domain.id })\n .andWhere('p.id = :projectId', { projectId })\n .groupBy('p.id')\n\n const result = (await queryBuilder.getRawOne()) || {}\n return {\n request: result.request || 0,\n pass: result.pass || 0,\n fail: result.fail || 0\n }\n }\n\n @FieldResolver(type => Attachment)\n async mainPhoto(@Root() project: Project): Promise<string | Attachment> {\n const attachment: Attachment = await getRepository(Attachment).findOne({\n where: {\n domain: { id: project.domainId },\n refBy: project.id\n },\n order: { createdAt: 'ASC' }\n })\n\n return attachment\n }\n\n @FieldResolver(type => BuildingComplex)\n async buildingComplex(@Root() project: Project): Promise<BuildingComplex> {\n return await getRepository(BuildingComplex).findOneBy({ id: project.buildingComplexId })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() project: Project): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: project.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() project: Project): Promise<User> {\n return await getRepository(User).findOneBy({ id: project.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() project: Project): Promise<User> {\n return await getRepository(User).findOneBy({ id: project.creatorId })\n }\n}\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Project } from './project';
|
|
2
|
+
import { BuildingComplexPatch } from '@dssp/building-complex';
|
|
3
|
+
import type { FileUpload } from 'graphql-upload/GraphQLUpload.js';
|
|
4
|
+
export declare class NewProject {
|
|
5
|
+
name: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class ProjectPatch {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
startDate?: string;
|
|
11
|
+
endDate?: string;
|
|
12
|
+
mainPhotoUpload?: FileUpload;
|
|
13
|
+
totalProgress?: number;
|
|
14
|
+
weeklyProgress?: number;
|
|
15
|
+
kpi?: number;
|
|
16
|
+
inspPassRate?: number;
|
|
17
|
+
robotProgressRate?: number;
|
|
18
|
+
structuralSafetyRate?: number;
|
|
19
|
+
buildingComplex?: BuildingComplexPatch;
|
|
20
|
+
}
|
|
21
|
+
export declare class ProjectList {
|
|
22
|
+
items: Project[];
|
|
23
|
+
total: number;
|
|
24
|
+
}
|
|
25
|
+
export declare class InspectionSummary {
|
|
26
|
+
request: number;
|
|
27
|
+
pass: number;
|
|
28
|
+
fail: number;
|
|
29
|
+
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.InspectionSummary = exports.ProjectList = exports.ProjectPatch = exports.NewProject = void 0;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
@@ -65,7 +64,7 @@ tslib_1.__decorate([
|
|
|
65
64
|
], ProjectPatch.prototype, "structuralSafetyRate", void 0);
|
|
66
65
|
tslib_1.__decorate([
|
|
67
66
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
68
|
-
tslib_1.__metadata("design:type",
|
|
67
|
+
tslib_1.__metadata("design:type", building_complex_1.BuildingComplexPatch)
|
|
69
68
|
], ProjectPatch.prototype, "buildingComplex", void 0);
|
|
70
69
|
ProjectPatch = tslib_1.__decorate([
|
|
71
70
|
(0, type_graphql_1.InputType)()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-type.js","sourceRoot":"","sources":["../../../server/service/project/project-type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project-type.js","sourceRoot":"","sources":["../../../server/service/project/project-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAuE;AACvE,uCAAmC;AACnC,6DAA6D;AAE7D,+FAA2D;AAGpD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAGtB,CAAA;AAFC;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;wCACf;AAFD,UAAU;IADtB,IAAA,wBAAS,GAAE;GACC,UAAU,CAGtB;AAHY,gCAAU;AAMhB,IAAM,YAAY,GAAlB,MAAM,YAAY;CAoCxB,CAAA;AAnCC;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;wCACjB;AAEV;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;0CACf;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACR;AAElB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACV;AAEhB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,0BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACrB;AAE5B;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACnB;AAEtB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDAClB;AAEvB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCAC7B;AAEZ;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACpB;AAErB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACf;AAE1B;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DACZ;AAE7B;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACR,uCAAoB;qDAAA;AAnC3B,YAAY;IADxB,IAAA,wBAAS,GAAE;GACC,YAAY,CAoCxB;AApCY,oCAAY;AAuClB,IAAM,WAAW,GAAjB,MAAM,WAAW;CAMvB,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAO,CAAC,CAAC;;0CACT;AAEhB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;0CACN;AALF,WAAW;IADvB,IAAA,yBAAU,GAAE;GACA,WAAW,CAMvB;AANY,kCAAW;AASjB,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAS7B,CAAA;AARC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;kDACJ;AAEf;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;+CACP;AAEZ;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;+CACP;AARD,iBAAiB;IAD7B,IAAA,yBAAU,GAAE;GACA,iBAAiB,CAS7B;AATY,8CAAiB","sourcesContent":["import { ObjectType, Field, InputType, Int, Float } from 'type-graphql'\nimport { Project } from './project'\nimport { BuildingComplexPatch } from '@dssp/building-complex'\nimport type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\n\n@InputType()\nexport class NewProject {\n @Field({ nullable: false })\n name: string\n}\n\n@InputType()\nexport class ProjectPatch {\n @Field({ nullable: false })\n id: string\n\n @Field({ nullable: false })\n name: string\n\n @Field({ nullable: true })\n startDate?: string\n\n @Field({ nullable: true })\n endDate?: string\n\n @Field(type => GraphQLUpload, { nullable: true })\n mainPhotoUpload?: FileUpload\n\n @Field(type => Float, { nullable: true })\n totalProgress?: number\n\n @Field(type => Float, { nullable: true })\n weeklyProgress?: number\n\n @Field(type => Float, { nullable: true })\n kpi?: number\n\n @Field(type => Float, { nullable: true })\n inspPassRate?: number\n\n @Field(type => Float, { nullable: true })\n robotProgressRate?: number\n\n @Field(type => Float, { nullable: true })\n structuralSafetyRate?: number\n\n @Field({ nullable: true })\n buildingComplex?: BuildingComplexPatch\n}\n\n@ObjectType()\nexport class ProjectList {\n @Field(type => [Project])\n items: Project[]\n\n @Field(type => Int)\n total: number\n}\n\n@ObjectType()\nexport class InspectionSummary {\n @Field(type => Int)\n request: number\n\n @Field(type => Int)\n pass: number\n\n @Field(type => Int)\n fail: number\n}\n"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Domain } from '@things-factory/shell';
|
|
2
|
+
import { User } from '@things-factory/auth-base';
|
|
3
|
+
import { Task } from '../task/task';
|
|
4
|
+
import { BuildingComplex } from '@dssp/building-complex';
|
|
5
|
+
import { Attachment } from '@things-factory/attachment-base';
|
|
6
|
+
export declare enum ProjectStatus {
|
|
7
|
+
'PROCEEDING' = "10",
|
|
8
|
+
'COMPLICATED' = "20"
|
|
9
|
+
}
|
|
10
|
+
export declare class Project {
|
|
11
|
+
readonly id: string;
|
|
12
|
+
domain?: Domain;
|
|
13
|
+
domainId?: string;
|
|
14
|
+
name?: string;
|
|
15
|
+
state?: ProjectStatus;
|
|
16
|
+
startDate?: string;
|
|
17
|
+
endDate?: string;
|
|
18
|
+
mainPhoto?: Attachment;
|
|
19
|
+
totalProgress?: number;
|
|
20
|
+
weeklyProgress?: number;
|
|
21
|
+
kpi?: number;
|
|
22
|
+
inspPassRate?: number;
|
|
23
|
+
robotProgressRate?: number;
|
|
24
|
+
structuralSafetyRate?: number;
|
|
25
|
+
buildingComplex?: BuildingComplex;
|
|
26
|
+
buildingComplexId?: string;
|
|
27
|
+
tasks?: Task[];
|
|
28
|
+
createdAt?: Date;
|
|
29
|
+
updatedAt?: Date;
|
|
30
|
+
deletedAt?: Date;
|
|
31
|
+
creator?: User;
|
|
32
|
+
creatorId?: string;
|
|
33
|
+
updater?: User;
|
|
34
|
+
updaterId?: string;
|
|
35
|
+
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.Project = exports.ProjectStatus = void 0;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
@@ -93,7 +92,7 @@ tslib_1.__decorate([
|
|
|
93
92
|
(0, typeorm_1.OneToOne)(type => building_complex_1.BuildingComplex),
|
|
94
93
|
(0, typeorm_1.JoinColumn)(),
|
|
95
94
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
96
|
-
tslib_1.__metadata("design:type",
|
|
95
|
+
tslib_1.__metadata("design:type", building_complex_1.BuildingComplex)
|
|
97
96
|
], Project.prototype, "buildingComplex", void 0);
|
|
98
97
|
tslib_1.__decorate([
|
|
99
98
|
(0, typeorm_1.RelationId)((project) => project.buildingComplex),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../server/service/project/project.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../server/service/project/project.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CreateDateColumn,\n UpdateDateColumn,\n DeleteDateColumn,\n Entity,\n Index,\n Column,\n RelationId,\n ManyToOne,\n OneToOne,\n OneToMany,\n JoinColumn,\n PrimaryGeneratedColumn\n} from 'typeorm'\nimport { ObjectType, Field, ID, registerEnumType } from 'type-graphql'\n\nimport { Domain, roundTransformer } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { Task } from '../task/task'\nimport { BuildingComplex } from '@dssp/building-complex'\nimport { Attachment } from '@things-factory/attachment-base'\n\nexport enum ProjectStatus {\n 'PROCEEDING' = '10',\n 'COMPLICATED' = '20'\n}\n\nregisterEnumType(ProjectStatus, {\n name: 'ProjectStatus',\n description: '프로젝트 상태'\n})\n\n@Entity()\n@Index('ix_project_0', (project: Project) => [project.buildingComplex], { unique: true, where: '\"deleted_at\" IS NULL' })\n@ObjectType({ description: '프로젝트' })\nexport class Project {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((project: Project) => project.domain)\n domainId?: string\n\n @Column({ nullable: false, comment: '프로젝트 이름' })\n @Field({ nullable: false })\n name?: string\n\n @Column({ nullable: false, default: ProjectStatus.PROCEEDING, comment: '프로젝트 상태 (10: 진행중, 20: 완료)' })\n @Field({ nullable: false })\n state?: ProjectStatus\n\n @Column({ type: 'date', nullable: true, comment: '착공일정' })\n @Field({ nullable: true })\n startDate?: string\n\n @Column({ type: 'date', nullable: true, comment: '준공일정' })\n @Field({ nullable: true })\n endDate?: string\n\n // 대표 사진\n @Field(type => Attachment, { nullable: true })\n mainPhoto?: Attachment\n\n @Column({ type: 'float', nullable: true, default: 0, transformer: roundTransformer, comment: '전체 진행현황' })\n @Field({ nullable: true })\n totalProgress?: number\n\n @Column({ type: 'float', nullable: true, default: 0, transformer: roundTransformer, comment: '주간 진행현황' })\n @Field({ nullable: true })\n weeklyProgress?: number\n\n @Column({ type: 'float', nullable: true, default: 0, transformer: roundTransformer, comment: 'KPI' })\n @Field({ nullable: true })\n kpi?: number\n\n @Column({ type: 'float', nullable: true, default: 0, transformer: roundTransformer, comment: '검측/통과 비율' })\n @Field({ nullable: true })\n inspPassRate?: number\n\n @Column({ type: 'float', nullable: true, default: 0, transformer: roundTransformer, comment: '로봇 작업 진행율' })\n @Field({ nullable: true })\n robotProgressRate?: number\n\n @Column({ type: 'float', nullable: true, default: 0, transformer: roundTransformer, comment: '구조 안전도' })\n @Field({ nullable: true })\n structuralSafetyRate?: number\n\n // 단지 정보 (1:1 테이블 참조)\n @OneToOne(type => BuildingComplex)\n @JoinColumn()\n @Field({ nullable: true })\n buildingComplex?: BuildingComplex\n\n @RelationId((project: Project) => project.buildingComplex)\n buildingComplexId?: string\n\n // 작업 정보 (하위 테이블 참조)\n @Field(() => [Task], { nullable: true })\n @OneToMany(() => Task, task => task.project)\n tasks?: Task[]\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @DeleteDateColumn()\n @Field({ nullable: true })\n deletedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((project: Project) => project.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((project: Project) => project.updater)\n updaterId?: string\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Task } from './task';
|
|
2
|
+
import { NewTask, TaskPatch } from './task-type';
|
|
3
|
+
export declare class TaskMutation {
|
|
4
|
+
createTask(task: NewTask, context: ResolverContext): Promise<Task>;
|
|
5
|
+
updateTask(id: string, patch: TaskPatch, context: ResolverContext): Promise<Task>;
|
|
6
|
+
updateMultipleTask(patches: TaskPatch[], context: ResolverContext): Promise<Task[]>;
|
|
7
|
+
deleteTask(id: string, context: ResolverContext): Promise<boolean>;
|
|
8
|
+
deleteTasks(ids: string[], context: ResolverContext): Promise<boolean>;
|
|
9
|
+
importTasks(tasks: TaskPatch[], context: ResolverContext): Promise<boolean>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ListParam } from '@things-factory/shell';
|
|
2
|
+
import { User } from '@things-factory/auth-base';
|
|
3
|
+
import { Task } from './task';
|
|
4
|
+
import { TaskList } from './task-type';
|
|
5
|
+
export declare class TaskQuery {
|
|
6
|
+
task(id: string, context: ResolverContext): Promise<Task>;
|
|
7
|
+
tasks(params: ListParam, context: ResolverContext): Promise<TaskList>;
|
|
8
|
+
thumbnail(task: Task): Promise<string | undefined>;
|
|
9
|
+
updater(task: Task): Promise<User>;
|
|
10
|
+
creator(task: Task): Promise<User>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Task } from './task';
|
|
2
|
+
export declare class NewTask {
|
|
3
|
+
name: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
active?: boolean;
|
|
6
|
+
params?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class TaskPatch {
|
|
9
|
+
id?: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
active?: boolean;
|
|
13
|
+
cuFlag?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class TaskList {
|
|
16
|
+
items: Task[];
|
|
17
|
+
total: number;
|
|
18
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { User } from '@things-factory/auth-base';
|
|
2
|
+
import { Project } from '../project/project';
|
|
3
|
+
import { Checklist } from '../checklist/checklist';
|
|
4
|
+
export declare enum TaskType {
|
|
5
|
+
GROUP = "GROUP",
|
|
6
|
+
TASK = "TASK"
|
|
7
|
+
}
|
|
8
|
+
export declare class Task {
|
|
9
|
+
readonly id: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
type?: TaskType;
|
|
12
|
+
parentTaskId?: string;
|
|
13
|
+
startDate?: Date;
|
|
14
|
+
endDate?: Date;
|
|
15
|
+
project?: Project;
|
|
16
|
+
projectId?: string;
|
|
17
|
+
checklists?: Checklist[];
|
|
18
|
+
createdAt?: Date;
|
|
19
|
+
updatedAt?: Date;
|
|
20
|
+
deletedAt?: Date;
|
|
21
|
+
creator?: User;
|
|
22
|
+
creatorId?: string;
|
|
23
|
+
updater?: User;
|
|
24
|
+
updaterId?: string;
|
|
25
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { WorkerType } from './worker-type';
|
|
2
|
+
import { WorkerTypeQuery } from './worker-type-query';
|
|
3
|
+
import { WorkerTypeMutation } from './worker-type-mutation';
|
|
4
|
+
export declare const entities: (typeof WorkerType)[];
|
|
5
|
+
export declare const resolvers: (typeof WorkerTypeQuery | typeof WorkerTypeMutation)[];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolvers = exports.entities = void 0;
|
|
4
|
+
const worker_type_1 = require("./worker-type");
|
|
5
|
+
const worker_type_query_1 = require("./worker-type-query");
|
|
6
|
+
const worker_type_mutation_1 = require("./worker-type-mutation");
|
|
7
|
+
exports.entities = [worker_type_1.WorkerType];
|
|
8
|
+
exports.resolvers = [worker_type_query_1.WorkerTypeQuery, worker_type_mutation_1.WorkerTypeMutation];
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/worker-type/index.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAC1C,2DAAqD;AACrD,iEAA2D;AAE9C,QAAA,QAAQ,GAAG,CAAC,wBAAU,CAAC,CAAA;AACvB,QAAA,SAAS,GAAG,CAAC,mCAAe,EAAE,yCAAkB,CAAC,CAAA","sourcesContent":["import { WorkerType } from './worker-type'\nimport { WorkerTypeQuery } from './worker-type-query'\nimport { WorkerTypeMutation } from './worker-type-mutation'\n\nexport const entities = [WorkerType]\nexport const resolvers = [WorkerTypeQuery, WorkerTypeMutation]\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { WorkerType } from './worker-type';
|
|
2
|
+
import { WorkerTypePatch } from './worker-type-type';
|
|
3
|
+
export declare class WorkerTypeMutation {
|
|
4
|
+
updateMultipleWorkerType(patches: WorkerTypePatch[], context: ResolverContext): Promise<WorkerType[]>;
|
|
5
|
+
deleteWorkerTypes(ids: string[], context: ResolverContext): Promise<boolean>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkerTypeMutation = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const typeorm_1 = require("typeorm");
|
|
7
|
+
const worker_type_1 = require("./worker-type");
|
|
8
|
+
const worker_type_type_1 = require("./worker-type-type");
|
|
9
|
+
let WorkerTypeMutation = class WorkerTypeMutation {
|
|
10
|
+
async updateMultipleWorkerType(patches, context) {
|
|
11
|
+
const { domain, user, tx } = context.state;
|
|
12
|
+
let results = [];
|
|
13
|
+
const _createRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === '+');
|
|
14
|
+
const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
|
|
15
|
+
const workerTypeRepo = tx.getRepository(worker_type_1.WorkerType);
|
|
16
|
+
if (_createRecords.length > 0) {
|
|
17
|
+
for (let i = 0; i < _createRecords.length; i++) {
|
|
18
|
+
const newRecord = _createRecords[i];
|
|
19
|
+
const result = await workerTypeRepo.save(Object.assign(Object.assign({}, newRecord), { domain, creator: user, updater: user }));
|
|
20
|
+
results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
if (_updateRecords.length > 0) {
|
|
24
|
+
for (let i = 0; i < _updateRecords.length; i++) {
|
|
25
|
+
const updateRecord = _updateRecords[i];
|
|
26
|
+
const workerType = await workerTypeRepo.findOneBy({ id: updateRecord.id });
|
|
27
|
+
const result = await workerTypeRepo.save(Object.assign(Object.assign(Object.assign({}, workerType), updateRecord), { updater: user }));
|
|
28
|
+
results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return results;
|
|
32
|
+
}
|
|
33
|
+
async deleteWorkerTypes(ids, context) {
|
|
34
|
+
const { domain, tx } = context.state;
|
|
35
|
+
await tx.getRepository(worker_type_1.WorkerType).softDelete({
|
|
36
|
+
domain: { id: domain.id },
|
|
37
|
+
id: (0, typeorm_1.In)(ids)
|
|
38
|
+
});
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
tslib_1.__decorate([
|
|
43
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
|
44
|
+
(0, type_graphql_1.Mutation)(returns => [worker_type_1.WorkerType], { description: "To modify multiple WorkerTypes' information" }),
|
|
45
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [worker_type_type_1.WorkerTypePatch])),
|
|
46
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
47
|
+
tslib_1.__metadata("design:type", Function),
|
|
48
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
|
49
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
50
|
+
], WorkerTypeMutation.prototype, "updateMultipleWorkerType", null);
|
|
51
|
+
tslib_1.__decorate([
|
|
52
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
|
53
|
+
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple WorkerTypes' }),
|
|
54
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
|
|
55
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
56
|
+
tslib_1.__metadata("design:type", Function),
|
|
57
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
|
58
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
59
|
+
], WorkerTypeMutation.prototype, "deleteWorkerTypes", null);
|
|
60
|
+
WorkerTypeMutation = tslib_1.__decorate([
|
|
61
|
+
(0, type_graphql_1.Resolver)(worker_type_1.WorkerType)
|
|
62
|
+
], WorkerTypeMutation);
|
|
63
|
+
exports.WorkerTypeMutation = WorkerTypeMutation;
|
|
64
|
+
//# sourceMappingURL=worker-type-mutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-type-mutation.js","sourceRoot":"","sources":["../../../server/service/worker-type/worker-type-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\nimport { WorkerType } from './worker-type'\nimport { WorkerTypePatch } from './worker-type-type'\n\n@Resolver(WorkerType)\nexport class WorkerTypeMutation {\n @Directive('@transaction')\n @Mutation(returns => [WorkerType], { description: \"To modify multiple WorkerTypes' information\" })\n async updateMultipleWorkerType(\n @Arg('patches', type => [WorkerTypePatch]) patches: WorkerTypePatch[],\n @Ctx() context: ResolverContext\n ): Promise<WorkerType[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const workerTypeRepo = tx.getRepository(WorkerType)\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 workerTypeRepo.save({\n ...newRecord,\n 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 updateRecord = _updateRecords[i]\n const workerType = await workerTypeRepo.findOneBy({ id: updateRecord.id })\n\n const result = await workerTypeRepo.save({\n ...workerType,\n ...updateRecord,\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, { description: 'To delete multiple WorkerTypes' })\n async deleteWorkerTypes(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(WorkerType).softDelete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Domain, ListParam } from '@things-factory/shell';
|
|
2
|
+
import { User } from '@things-factory/auth-base';
|
|
3
|
+
import { WorkerType } from './worker-type';
|
|
4
|
+
import { WorkerTypeList } from './worker-type-type';
|
|
5
|
+
export declare class WorkerTypeQuery {
|
|
6
|
+
workerType(id: string, context: ResolverContext): Promise<WorkerType>;
|
|
7
|
+
workerTypes(params: ListParam, context: ResolverContext): Promise<WorkerTypeList>;
|
|
8
|
+
domain(workerType: WorkerType): Promise<Domain>;
|
|
9
|
+
updater(workerType: WorkerType): Promise<User>;
|
|
10
|
+
creator(workerType: WorkerType): Promise<User>;
|
|
11
|
+
}
|
|
@@ -1,86 +1,78 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.WorkerTypeQuery = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const type_graphql_1 = require("type-graphql");
|
|
6
|
-
const attachment_base_1 = require("@things-factory/attachment-base");
|
|
7
6
|
const shell_1 = require("@things-factory/shell");
|
|
8
7
|
const auth_base_1 = require("@things-factory/auth-base");
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
let
|
|
12
|
-
async
|
|
8
|
+
const worker_type_1 = require("./worker-type");
|
|
9
|
+
const worker_type_type_1 = require("./worker-type-type");
|
|
10
|
+
let WorkerTypeQuery = class WorkerTypeQuery {
|
|
11
|
+
async workerType(id, context) {
|
|
13
12
|
const { domain } = context.state;
|
|
14
|
-
return await (0, shell_1.getRepository)(
|
|
15
|
-
where: { id }
|
|
13
|
+
return await (0, shell_1.getRepository)(worker_type_1.WorkerType).findOne({
|
|
14
|
+
where: { domain: { id: domain.id }, id }
|
|
16
15
|
});
|
|
17
16
|
}
|
|
18
|
-
async
|
|
17
|
+
async workerTypes(params, context) {
|
|
19
18
|
const { domain } = context.state;
|
|
20
19
|
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
|
21
20
|
domain,
|
|
22
21
|
params,
|
|
23
|
-
repository: await (0, shell_1.getRepository)(
|
|
24
|
-
searchables: ['name', 'description']
|
|
22
|
+
repository: await (0, shell_1.getRepository)(worker_type_1.WorkerType)
|
|
25
23
|
});
|
|
26
24
|
const [items, total] = await queryBuilder.getManyAndCount();
|
|
27
25
|
return { items, total };
|
|
28
26
|
}
|
|
29
|
-
async
|
|
30
|
-
|
|
31
|
-
where: {
|
|
32
|
-
refType: resource_1.Resource.name,
|
|
33
|
-
refBy: resource.id
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
return attachment === null || attachment === void 0 ? void 0 : attachment.fullpath;
|
|
27
|
+
async domain(workerType) {
|
|
28
|
+
return await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: workerType.domainId });
|
|
37
29
|
}
|
|
38
|
-
async updater(
|
|
39
|
-
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id:
|
|
30
|
+
async updater(workerType) {
|
|
31
|
+
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: workerType.updaterId });
|
|
40
32
|
}
|
|
41
|
-
async creator(
|
|
42
|
-
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id:
|
|
33
|
+
async creator(workerType) {
|
|
34
|
+
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: workerType.creatorId });
|
|
43
35
|
}
|
|
44
36
|
};
|
|
45
37
|
tslib_1.__decorate([
|
|
46
|
-
(0, type_graphql_1.Query)(returns =>
|
|
38
|
+
(0, type_graphql_1.Query)(returns => worker_type_1.WorkerType, { nullable: true, description: 'To fetch a WorkerType' }),
|
|
47
39
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
48
40
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
49
41
|
tslib_1.__metadata("design:type", Function),
|
|
50
42
|
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
51
43
|
tslib_1.__metadata("design:returntype", Promise)
|
|
52
|
-
],
|
|
44
|
+
], WorkerTypeQuery.prototype, "workerType", null);
|
|
53
45
|
tslib_1.__decorate([
|
|
54
|
-
(0, type_graphql_1.Query)(returns =>
|
|
46
|
+
(0, type_graphql_1.Query)(returns => worker_type_type_1.WorkerTypeList, { description: 'To fetch multiple WorkerTypes' }),
|
|
55
47
|
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
56
48
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
57
49
|
tslib_1.__metadata("design:type", Function),
|
|
58
50
|
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
59
51
|
tslib_1.__metadata("design:returntype", Promise)
|
|
60
|
-
],
|
|
52
|
+
], WorkerTypeQuery.prototype, "workerTypes", null);
|
|
61
53
|
tslib_1.__decorate([
|
|
62
|
-
(0, type_graphql_1.FieldResolver)(type =>
|
|
54
|
+
(0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
|
|
63
55
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
64
56
|
tslib_1.__metadata("design:type", Function),
|
|
65
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
57
|
+
tslib_1.__metadata("design:paramtypes", [worker_type_1.WorkerType]),
|
|
66
58
|
tslib_1.__metadata("design:returntype", Promise)
|
|
67
|
-
],
|
|
59
|
+
], WorkerTypeQuery.prototype, "domain", null);
|
|
68
60
|
tslib_1.__decorate([
|
|
69
61
|
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
70
62
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
71
63
|
tslib_1.__metadata("design:type", Function),
|
|
72
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
64
|
+
tslib_1.__metadata("design:paramtypes", [worker_type_1.WorkerType]),
|
|
73
65
|
tslib_1.__metadata("design:returntype", Promise)
|
|
74
|
-
],
|
|
66
|
+
], WorkerTypeQuery.prototype, "updater", null);
|
|
75
67
|
tslib_1.__decorate([
|
|
76
68
|
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
77
69
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
78
70
|
tslib_1.__metadata("design:type", Function),
|
|
79
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
71
|
+
tslib_1.__metadata("design:paramtypes", [worker_type_1.WorkerType]),
|
|
80
72
|
tslib_1.__metadata("design:returntype", Promise)
|
|
81
|
-
],
|
|
82
|
-
|
|
83
|
-
(0, type_graphql_1.Resolver)(
|
|
84
|
-
],
|
|
85
|
-
exports.
|
|
86
|
-
//# sourceMappingURL=
|
|
73
|
+
], WorkerTypeQuery.prototype, "creator", null);
|
|
74
|
+
WorkerTypeQuery = tslib_1.__decorate([
|
|
75
|
+
(0, type_graphql_1.Resolver)(worker_type_1.WorkerType)
|
|
76
|
+
], WorkerTypeQuery);
|
|
77
|
+
exports.WorkerTypeQuery = WorkerTypeQuery;
|
|
78
|
+
//# sourceMappingURL=worker-type-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-type-query.js","sourceRoot":"","sources":["../../../server/service/worker-type/worker-type-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAmF;AACnF,iDAAuG;AACvG,yDAAgD;AAChD,+CAA0C;AAC1C,yDAAmD;AAG5C,IAAM,eAAe,GAArB,MAAM,eAAe;IAEpB,AAAN,KAAK,CAAC,UAAU,CAAY,EAAU,EAAS,OAAwB;QACrE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,qBAAa,EAAC,wBAAU,CAAC,CAAC,OAAO,CAAC;YAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;SACzC,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAS,MAAiB,EAAS,OAAwB;QAC1E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,wBAAU,CAAC;SAC5C,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,UAAsB;QACzC,OAAO,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3E,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,UAAsB;QAC1C,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;IAC1E,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,UAAsB;QAC1C,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;IAC1E,CAAC;CACF,CAAA;AArCO;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,wBAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACtE,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iDAM7C;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,iCAAc,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;IAChE,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,iBAAS;;kDAY1C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAa,wBAAU;;6CAE1C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAa,wBAAU;;8CAE3C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAa,wBAAU;;8CAE3C;AAtCU,eAAe;IAD3B,IAAA,uBAAQ,EAAC,wBAAU,CAAC;GACR,eAAe,CAuC3B;AAvCY,0CAAe","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx } from 'type-graphql'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { WorkerType } from './worker-type'\nimport { WorkerTypeList } from './worker-type-type'\n\n@Resolver(WorkerType)\nexport class WorkerTypeQuery {\n @Query(returns => WorkerType!, { nullable: true, description: 'To fetch a WorkerType' })\n async workerType(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<WorkerType> {\n const { domain } = context.state\n\n return await getRepository(WorkerType).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => WorkerTypeList, { description: 'To fetch multiple WorkerTypes' })\n async workerTypes(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<WorkerTypeList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(WorkerType)\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() workerType: WorkerType): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: workerType.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() workerType: WorkerType): Promise<User> {\n return await getRepository(User).findOneBy({ id: workerType.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() workerType: WorkerType): Promise<User> {\n return await getRepository(User).findOneBy({ id: workerType.creatorId })\n }\n}\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkerTypeList = exports.WorkerTypePatch = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const worker_type_1 = require("./worker-type");
|
|
7
|
+
let WorkerTypePatch = class WorkerTypePatch {
|
|
8
|
+
};
|
|
9
|
+
tslib_1.__decorate([
|
|
10
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
|
|
11
|
+
tslib_1.__metadata("design:type", String)
|
|
12
|
+
], WorkerTypePatch.prototype, "id", void 0);
|
|
13
|
+
tslib_1.__decorate([
|
|
14
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
15
|
+
tslib_1.__metadata("design:type", String)
|
|
16
|
+
], WorkerTypePatch.prototype, "name", void 0);
|
|
17
|
+
tslib_1.__decorate([
|
|
18
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
19
|
+
tslib_1.__metadata("design:type", String)
|
|
20
|
+
], WorkerTypePatch.prototype, "description", void 0);
|
|
21
|
+
tslib_1.__decorate([
|
|
22
|
+
(0, type_graphql_1.Field)(),
|
|
23
|
+
tslib_1.__metadata("design:type", String)
|
|
24
|
+
], WorkerTypePatch.prototype, "cuFlag", void 0);
|
|
25
|
+
WorkerTypePatch = tslib_1.__decorate([
|
|
26
|
+
(0, type_graphql_1.InputType)()
|
|
27
|
+
], WorkerTypePatch);
|
|
28
|
+
exports.WorkerTypePatch = WorkerTypePatch;
|
|
29
|
+
let WorkerTypeList = class WorkerTypeList {
|
|
30
|
+
};
|
|
31
|
+
tslib_1.__decorate([
|
|
32
|
+
(0, type_graphql_1.Field)(type => [worker_type_1.WorkerType]),
|
|
33
|
+
tslib_1.__metadata("design:type", Array)
|
|
34
|
+
], WorkerTypeList.prototype, "items", void 0);
|
|
35
|
+
tslib_1.__decorate([
|
|
36
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.Int),
|
|
37
|
+
tslib_1.__metadata("design:type", Number)
|
|
38
|
+
], WorkerTypeList.prototype, "total", void 0);
|
|
39
|
+
WorkerTypeList = tslib_1.__decorate([
|
|
40
|
+
(0, type_graphql_1.ObjectType)()
|
|
41
|
+
], WorkerTypeList);
|
|
42
|
+
exports.WorkerTypeList = WorkerTypeList;
|
|
43
|
+
//# sourceMappingURL=worker-type-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-type-type.js","sourceRoot":"","sources":["../../../server/service/worker-type/worker-type-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,+CAA0C;AAGnC,IAAM,eAAe,GAArB,MAAM,eAAe;CAY3B,CAAA;AAXC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CAC3B;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACb;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACN;AAEpB;IAAC,IAAA,oBAAK,GAAE;;+CACM;AAXH,eAAe;IAD3B,IAAA,wBAAS,GAAE;GACC,eAAe,CAY3B;AAZY,0CAAe;AAerB,IAAM,cAAc,GAApB,MAAM,cAAc;CAM1B,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,wBAAU,CAAC,CAAC;;6CACT;AAEnB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;6CACN;AALF,cAAc;IAD1B,IAAA,yBAAU,GAAE;GACA,cAAc,CAM1B;AANY,wCAAc","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport { WorkerType } from './worker-type'\n\n@InputType()\nexport class WorkerTypePatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field()\n cuFlag: string\n}\n\n@ObjectType()\nexport class WorkerTypeList {\n @Field(type => [WorkerType])\n items: WorkerType[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Domain } from '@things-factory/shell';
|
|
2
|
+
import { User } from '@things-factory/auth-base';
|
|
3
|
+
export declare class WorkerType {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
domain?: Domain;
|
|
6
|
+
domainId?: string;
|
|
7
|
+
name: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
createdAt?: Date;
|
|
10
|
+
updatedAt?: Date;
|
|
11
|
+
deletedAt?: Date;
|
|
12
|
+
creator?: User;
|
|
13
|
+
creatorId?: string;
|
|
14
|
+
updater?: User;
|
|
15
|
+
updaterId?: string;
|
|
16
|
+
}
|