@dssp/project 1.0.0-alpha.8 → 1.0.0-alpha.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist-client/index.d.ts +1 -0
  2. package/dist-client/index.js +1 -1
  3. package/dist-client/index.js.map +1 -1
  4. package/dist-client/pages/lib/chatbot-widget.d.ts +53 -0
  5. package/dist-client/pages/lib/chatbot-widget.js +631 -0
  6. package/dist-client/pages/lib/chatbot-widget.js.map +1 -0
  7. package/dist-client/pages/lib/select2-component.d.ts +1 -1
  8. package/dist-client/pages/lib/select2-component.js +35 -35
  9. package/dist-client/pages/lib/select2-component.js.map +1 -1
  10. package/dist-client/pages/project/component/pagenation.d.ts +18 -0
  11. package/dist-client/pages/project/component/pagenation.js +142 -0
  12. package/dist-client/pages/project/component/pagenation.js.map +1 -0
  13. package/dist-client/pages/project/component/project-update-header.js +26 -3
  14. package/dist-client/pages/project/component/project-update-header.js.map +1 -1
  15. package/dist-client/pages/project/popup/checklist/task-checklist-attachment-list-popup.d.ts +1 -0
  16. package/dist-client/pages/project/popup/checklist/task-checklist-attachment-list-popup.js +308 -0
  17. package/dist-client/pages/project/popup/checklist/task-checklist-attachment-list-popup.js.map +1 -0
  18. package/dist-client/pages/project/popup/checklist/task-checklist-comment-list-popup.d.ts +1 -0
  19. package/dist-client/pages/project/popup/checklist/task-checklist-comment-list-popup.js +356 -0
  20. package/dist-client/pages/project/popup/checklist/task-checklist-comment-list-popup.js.map +1 -0
  21. package/dist-client/pages/project/popup/checklist/task-checklist-create-popup.d.ts +1 -0
  22. package/dist-client/pages/project/popup/checklist/task-checklist-create-popup.js +681 -0
  23. package/dist-client/pages/project/popup/checklist/task-checklist-create-popup.js.map +1 -0
  24. package/dist-client/pages/project/popup/checklist/task-checklist-view.d.ts +32 -0
  25. package/dist-client/pages/project/popup/checklist/task-checklist-view.js +620 -0
  26. package/dist-client/pages/project/popup/checklist/task-checklist-view.js.map +1 -0
  27. package/dist-client/pages/project/popup/popup-plan-export.js +8 -2
  28. package/dist-client/pages/project/popup/popup-plan-export.js.map +1 -1
  29. package/dist-client/pages/project/popup/{popup-schedule-upload.d.ts → popup-task-upload.d.ts} +1 -1
  30. package/dist-client/pages/project/popup/{popup-schedule-upload.js → popup-task-upload.js} +9 -9
  31. package/dist-client/pages/project/popup/popup-task-upload.js.map +1 -0
  32. package/dist-client/pages/project/project-completed-list.d.ts +5 -0
  33. package/dist-client/pages/project/project-completed-list.js +32 -3
  34. package/dist-client/pages/project/project-completed-list.js.map +1 -1
  35. package/dist-client/pages/project/project-detail.d.ts +6 -0
  36. package/dist-client/pages/project/project-detail.js +225 -89
  37. package/dist-client/pages/project/project-detail.js.map +1 -1
  38. package/dist-client/pages/project/project-list.d.ts +57 -0
  39. package/dist-client/pages/project/project-list.js +80 -9
  40. package/dist-client/pages/project/project-list.js.map +1 -1
  41. package/dist-client/pages/project/project-plan-management.js +6 -1
  42. package/dist-client/pages/project/project-plan-management.js.map +1 -1
  43. package/dist-client/pages/project/project-setting-list.d.ts +7 -0
  44. package/dist-client/pages/project/project-setting-list.js +61 -7
  45. package/dist-client/pages/project/project-setting-list.js.map +1 -1
  46. package/dist-client/pages/project/{project-schedule-list.d.ts → project-task-list.d.ts} +2 -2
  47. package/dist-client/pages/project/{project-schedule-list.js → project-task-list.js} +11 -11
  48. package/dist-client/pages/project/project-task-list.js.map +1 -0
  49. package/dist-client/pages/project/{project-schedule.d.ts → project-task.d.ts} +17 -4
  50. package/dist-client/pages/project/project-task.js +691 -0
  51. package/dist-client/pages/project/project-task.js.map +1 -0
  52. package/dist-client/pages/project/project-update.d.ts +34 -0
  53. package/dist-client/pages/project/project-update.js +508 -35
  54. package/dist-client/pages/project/project-update.js.map +1 -1
  55. package/dist-client/pages/resource/construction-type-management.js +14 -0
  56. package/dist-client/pages/resource/construction-type-management.js.map +1 -1
  57. package/dist-client/pages/resource/resource-list-page.d.ts +1 -2
  58. package/dist-client/pages/resource/resource-list-page.js +1 -2
  59. package/dist-client/pages/resource/resource-list-page.js.map +1 -1
  60. package/dist-client/pages/task/task-list-page.d.ts +1 -2
  61. package/dist-client/pages/task/task-list-page.js +1 -2
  62. package/dist-client/pages/task/task-list-page.js.map +1 -1
  63. package/dist-client/pages/task-resource/task-resource-list-page.d.ts +1 -2
  64. package/dist-client/pages/task-resource/task-resource-list-page.js +1 -2
  65. package/dist-client/pages/task-resource/task-resource-list-page.js.map +1 -1
  66. package/dist-client/route.d.ts +1 -1
  67. package/dist-client/route.js +4 -4
  68. package/dist-client/route.js.map +1 -1
  69. package/dist-client/shared/domain-context.d.ts +18 -0
  70. package/dist-client/shared/domain-context.js +28 -0
  71. package/dist-client/shared/domain-context.js.map +1 -0
  72. package/dist-client/tsconfig.tsbuildinfo +1 -1
  73. package/dist-client/viewparts/domain-switch.d.ts +19 -0
  74. package/dist-client/viewparts/domain-switch.js +266 -0
  75. package/dist-client/viewparts/domain-switch.js.map +1 -0
  76. package/dist-server/controllers/parse-excel.js.map +1 -1
  77. package/dist-server/migrations/1723861466414-seed-codes.js +1 -1
  78. package/dist-server/migrations/1723861466414-seed-codes.js.map +1 -1
  79. package/dist-server/service/construction-type/construction-type-query.d.ts +2 -2
  80. package/dist-server/service/construction-type/construction-type-query.js +5 -10
  81. package/dist-server/service/construction-type/construction-type-query.js.map +1 -1
  82. package/dist-server/service/construction-type/construction-type-type.d.ts +1 -0
  83. package/dist-server/service/construction-type/construction-type-type.js +4 -0
  84. package/dist-server/service/construction-type/construction-type-type.js.map +1 -1
  85. package/dist-server/service/construction-type/construction-type.d.ts +1 -0
  86. package/dist-server/service/construction-type/construction-type.js +5 -0
  87. package/dist-server/service/construction-type/construction-type.js.map +1 -1
  88. package/dist-server/service/index.d.ts +2 -2
  89. package/dist-server/service/index.js +5 -2
  90. package/dist-server/service/index.js.map +1 -1
  91. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.d.ts +2 -2
  92. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js +5 -10
  93. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js.map +1 -1
  94. package/dist-server/service/manager/manager-query.d.ts +1 -1
  95. package/dist-server/service/manager/manager-query.js +2 -6
  96. package/dist-server/service/manager/manager-query.js.map +1 -1
  97. package/dist-server/service/project/issue-project-code.d.ts +7 -0
  98. package/dist-server/service/project/issue-project-code.js +27 -0
  99. package/dist-server/service/project/issue-project-code.js.map +1 -0
  100. package/dist-server/service/project/project-mutation.d.ts +2 -0
  101. package/dist-server/service/project/project-mutation.js +109 -11
  102. package/dist-server/service/project/project-mutation.js.map +1 -1
  103. package/dist-server/service/project/project-query.d.ts +13 -2
  104. package/dist-server/service/project/project-query.js +138 -13
  105. package/dist-server/service/project/project-query.js.map +1 -1
  106. package/dist-server/service/project/project-type.d.ts +10 -2
  107. package/dist-server/service/project/project-type.js +32 -2
  108. package/dist-server/service/project/project-type.js.map +1 -1
  109. package/dist-server/service/project/project.d.ts +22 -0
  110. package/dist-server/service/project/project.js +84 -2
  111. package/dist-server/service/project/project.js.map +1 -1
  112. package/dist-server/service/resource/resource-mutation.js +5 -6
  113. package/dist-server/service/resource/resource-mutation.js.map +1 -1
  114. package/dist-server/service/resource/resource-query.d.ts +2 -2
  115. package/dist-server/service/resource/resource-query.js +5 -10
  116. package/dist-server/service/resource/resource-query.js.map +1 -1
  117. package/dist-server/service/task/task-query.d.ts +2 -0
  118. package/dist-server/service/task/task-query.js +11 -0
  119. package/dist-server/service/task/task-query.js.map +1 -1
  120. package/dist-server/service/task/task.d.ts +2 -0
  121. package/dist-server/service/task/task.js +6 -0
  122. package/dist-server/service/task/task.js.map +1 -1
  123. package/dist-server/service/task-checklist-binding/index.d.ts +5 -0
  124. package/dist-server/service/task-checklist-binding/index.js +9 -0
  125. package/dist-server/service/task-checklist-binding/index.js.map +1 -0
  126. package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.d.ts +5 -0
  127. package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.js +186 -0
  128. package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.js.map +1 -0
  129. package/dist-server/service/task-checklist-binding/task-checklist-binding-query.d.ts +8 -0
  130. package/dist-server/service/task-checklist-binding/task-checklist-binding-query.js +61 -0
  131. package/dist-server/service/task-checklist-binding/task-checklist-binding-query.js.map +1 -0
  132. package/dist-server/service/task-checklist-binding/task-checklist-binding-type.d.ts +15 -0
  133. package/dist-server/service/task-checklist-binding/task-checklist-binding-type.js +57 -0
  134. package/dist-server/service/task-checklist-binding/task-checklist-binding-type.js.map +1 -0
  135. package/dist-server/service/task-checklist-binding/task-checklist-binding.d.ts +22 -0
  136. package/dist-server/service/task-checklist-binding/task-checklist-binding.js +106 -0
  137. package/dist-server/service/task-checklist-binding/task-checklist-binding.js.map +1 -0
  138. package/dist-server/service/task-resource/task-resource-query.d.ts +2 -2
  139. package/dist-server/service/task-resource/task-resource-query.js +4 -9
  140. package/dist-server/service/task-resource/task-resource-query.js.map +1 -1
  141. package/dist-server/service/worker-type/worker-type-query.d.ts +2 -2
  142. package/dist-server/service/worker-type/worker-type-query.js +5 -10
  143. package/dist-server/service/worker-type/worker-type-query.js.map +1 -1
  144. package/dist-server/tsconfig.tsbuildinfo +1 -1
  145. package/package.json +15 -13
  146. package/things-factory.config.js +3 -3
  147. package/translations/en.json +10 -9
  148. package/translations/ja.json +15 -1
  149. package/translations/ko.json +3 -0
  150. package/translations/ms.json +15 -1
  151. package/translations/zh.json +15 -1
  152. package/dist-client/pages/project/popup/popup-schedule-upload.js.map +0 -1
  153. package/dist-client/pages/project/project-schedule-list.js.map +0 -1
  154. package/dist-client/pages/project/project-schedule.js +0 -407
  155. package/dist-client/pages/project/project-schedule.js.map +0 -1
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskChecklistBindingMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const task_checklist_binding_1 = require("./task-checklist-binding");
7
+ const supervision_1 = require("@dssp/supervision");
8
+ const task_checklist_binding_type_1 = require("./task-checklist-binding-type");
9
+ let TaskChecklistBindingMutation = class TaskChecklistBindingMutation {
10
+ async createTaskChecklist(patch, context) {
11
+ const { user, tx } = context.state;
12
+ const { checklist, checklistItem, managerId } = patch;
13
+ const { projectId, taskCode } = checklist;
14
+ const checklistRepository = tx.getRepository(supervision_1.Checklist);
15
+ const checklistItemRepository = tx.getRepository(supervision_1.ChecklistItem);
16
+ const taskChecklistBindingRepository = tx.getRepository(task_checklist_binding_1.TaskChecklistBinding);
17
+ // 1. 벨리데이션
18
+ if (!checklist.constructionType)
19
+ throw new Error('공종 타입이 없습니다.');
20
+ if (!checklist.constructionDetailType)
21
+ throw new Error('상세 공종 타입이 없습니다.');
22
+ if (!checklist.name)
23
+ throw new Error('체크리스트 이름이 없습니다.');
24
+ if (checklistItem.length === 0)
25
+ throw new Error('체크리스트 아이템이 없습니다.');
26
+ // 2. checklist 저장
27
+ const documentNo = await getRecentDocumentNoByTaskCode(tx);
28
+ const savedChecklist = await checklistRepository.save(Object.assign(Object.assign({}, checklist), { documentNo, projectType: supervision_1.ProjectType.DSSP, checklistReferenceType: supervision_1.ChecklistReferenceType.TASK, creator: user, updater: user }));
29
+ // 3. checklistItem 저장
30
+ const checklistItems = checklistItem.map((item, idx) => ({
31
+ name: item.name,
32
+ mainType: item.mainType,
33
+ detailType: item.detailType,
34
+ inspctionCriteria: item.inspctionCriteria,
35
+ sequence: idx,
36
+ checklist: savedChecklist,
37
+ creator: user,
38
+ updater: user
39
+ }));
40
+ await checklistItemRepository.save(checklistItems);
41
+ // 4. taskChecklistBinding 저장
42
+ await taskChecklistBindingRepository.save({
43
+ project: { id: projectId },
44
+ taskCode,
45
+ checklist: savedChecklist,
46
+ status: supervision_1.BuildingInspectionStatus.WAIT,
47
+ manager: { id: managerId },
48
+ creator: user,
49
+ updater: user
50
+ });
51
+ return true;
52
+ }
53
+ // 체크리스트 상태 변경 & 체크리스트 갱신
54
+ async updateTaskChecklist(taskChecklist, context) {
55
+ const { user, tx } = context.state;
56
+ const { checklistId, checklist, checklistItem } = taskChecklist;
57
+ const checklistRepo = tx.getRepository(supervision_1.Checklist);
58
+ const checklistItemRepo = tx.getRepository(supervision_1.ChecklistItem);
59
+ const taskChecklistBindingRepository = tx.getRepository(task_checklist_binding_1.TaskChecklistBinding);
60
+ const currChecklist = await checklistRepo.findOneBy({ id: checklistId });
61
+ const currTaskChecklistBinding = await taskChecklistBindingRepository.findOneBy({ checklist: { id: checklistId } });
62
+ const status = currTaskChecklistBinding.status;
63
+ const isConstructor = status == supervision_1.BuildingInspectionStatus.WAIT ||
64
+ status == supervision_1.BuildingInspectionStatus.OVERALL_WAIT ||
65
+ status == supervision_1.BuildingInspectionStatus.FAIL;
66
+ let taskChecklistStatus = null;
67
+ // 1. 벨리데이션
68
+ if (status == supervision_1.BuildingInspectionStatus.PASS)
69
+ throw new Error('체크리스트 상태가 수정할 수 있는 상태가 아닙니다.');
70
+ if (isConstructor) {
71
+ // 시공자 타입별 밸리데이션
72
+ if (checklistItem.length !== checklistItem.filter(v => v.constructionConfirmStatus).length) {
73
+ throw new Error('아이템을 모두 체크해야 합니다.');
74
+ }
75
+ if (status == supervision_1.BuildingInspectionStatus.OVERALL_WAIT && !checklist.overallConstructorSignature) {
76
+ throw new Error('총괄 시공책임자 사인이 없습니다.');
77
+ }
78
+ if (status == supervision_1.BuildingInspectionStatus.WAIT && !checklist.taskConstructorSignature) {
79
+ throw new Error('공종별 시공관리자 사인이 없습니다.');
80
+ }
81
+ // 시공자 상태 데이터
82
+ const isPassed = checklistItem.length === checklistItem.filter(v => v.constructionConfirmStatus === 'T').length;
83
+ if (!isPassed) {
84
+ // 1. 검측이 불햡격 = 상태는 불합격으로, 시공자 싸인은 모두 초기화
85
+ taskChecklistStatus = supervision_1.BuildingInspectionStatus.FAIL;
86
+ checklist.overallConstructorSignature = null;
87
+ checklist.taskConstructorSignature = null;
88
+ }
89
+ else if (isPassed && (status === supervision_1.BuildingInspectionStatus.WAIT || status === supervision_1.BuildingInspectionStatus.FAIL)) {
90
+ // 2. 검측이 합격이면서 공종 시공자 스탭 = 상태는 총괄 시공자 스탭으로
91
+ taskChecklistStatus = supervision_1.BuildingInspectionStatus.OVERALL_WAIT;
92
+ }
93
+ else if (isPassed && status === supervision_1.BuildingInspectionStatus.OVERALL_WAIT) {
94
+ // 3. 검측이 합격이면서 총괄 시공자 스탭 = 상태는 공종 감리자 스탭으로, 감리자 싸인은 모두 초기화
95
+ taskChecklistStatus = supervision_1.BuildingInspectionStatus.REQUEST;
96
+ checklist.overallSupervisorySignature = null;
97
+ checklist.taskSupervisorySignature = null;
98
+ }
99
+ }
100
+ else {
101
+ // 감리자 타입별 밸리데이션
102
+ if (checklistItem.length !== checklistItem.filter(v => v.supervisoryConfirmStatus).length) {
103
+ throw new Error('아이템을 모두 체크해야 합니다.');
104
+ }
105
+ if (status == supervision_1.BuildingInspectionStatus.OVERALL_REQUEST && !checklist.overallSupervisorySignature) {
106
+ throw new Error('총괄 감리책임자 사인이 없습니다.');
107
+ }
108
+ if (status == supervision_1.BuildingInspectionStatus.REQUEST && !checklist.taskSupervisorySignature) {
109
+ throw new Error('공종별 감리 책임자 사인이 없습니다.');
110
+ }
111
+ // 감리자 상태 데이터
112
+ const isPassed = checklistItem.length === checklistItem.filter(v => v.supervisoryConfirmStatus === 'T').length;
113
+ if (!isPassed) {
114
+ // 1. 검측이 불햡격 = 상태는 불합격으로, 시공자 싸인은 모두 초기화
115
+ taskChecklistStatus = supervision_1.BuildingInspectionStatus.FAIL;
116
+ checklist.overallConstructorSignature = null;
117
+ checklist.taskConstructorSignature = null;
118
+ }
119
+ else if (isPassed && status === supervision_1.BuildingInspectionStatus.REQUEST) {
120
+ // 2. 검측이 합격이면서 공종 감리자 스탭 = 상태는 총괄 감리자 스탭으로
121
+ taskChecklistStatus = supervision_1.BuildingInspectionStatus.OVERALL_REQUEST;
122
+ }
123
+ else if (isPassed && status === supervision_1.BuildingInspectionStatus.OVERALL_REQUEST) {
124
+ // 3. 검측이 합격이면서 총괄 감리자 스탭 = 상태는 합격으로
125
+ taskChecklistStatus = supervision_1.BuildingInspectionStatus.PASS;
126
+ }
127
+ }
128
+ // 3. checklist 저장
129
+ const inspectionDateField = isConstructor ? 'constructionInspectionDate' : 'supervisorInspectionDate';
130
+ await checklistRepo.save(Object.assign(Object.assign({}, currChecklist), { [inspectionDateField]: new Date(), overallConstructorSignature: checklist.overallConstructorSignature, taskConstructorSignature: checklist.taskConstructorSignature, overallSupervisorySignature: checklist.overallSupervisorySignature, taskSupervisorySignature: checklist.taskSupervisorySignature, updater: user }));
131
+ // 4. checklistItem 저장
132
+ for (let item of checklistItem) {
133
+ const confirmStatusField = isConstructor ? 'constructionConfirmStatus' : 'supervisoryConfirmStatus';
134
+ await checklistItemRepo.update(item.id, {
135
+ [confirmStatusField]: item[confirmStatusField],
136
+ updater: user
137
+ });
138
+ }
139
+ // 5. taskChecklistBinding 저장
140
+ await taskChecklistBindingRepository.save(Object.assign(Object.assign({}, currTaskChecklistBinding), { status: taskChecklistStatus, updater: user }));
141
+ return true;
142
+ }
143
+ };
144
+ exports.TaskChecklistBindingMutation = TaskChecklistBindingMutation;
145
+ tslib_1.__decorate([
146
+ (0, type_graphql_1.Directive)('@transaction'),
147
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To create Task Checklist information' }),
148
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('patch')),
149
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
150
+ tslib_1.__metadata("design:type", Function),
151
+ tslib_1.__metadata("design:paramtypes", [task_checklist_binding_type_1.NewTaskChecklist, Object]),
152
+ tslib_1.__metadata("design:returntype", Promise)
153
+ ], TaskChecklistBindingMutation.prototype, "createTaskChecklist", null);
154
+ tslib_1.__decorate([
155
+ (0, type_graphql_1.Directive)('@transaction'),
156
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To update Task Checklist information' }),
157
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('taskChecklist')),
158
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
159
+ tslib_1.__metadata("design:type", Function),
160
+ tslib_1.__metadata("design:paramtypes", [task_checklist_binding_type_1.UpdateTaskChecklistSubmitType, Object]),
161
+ tslib_1.__metadata("design:returntype", Promise)
162
+ ], TaskChecklistBindingMutation.prototype, "updateTaskChecklist", null);
163
+ exports.TaskChecklistBindingMutation = TaskChecklistBindingMutation = tslib_1.__decorate([
164
+ (0, type_graphql_1.Resolver)(task_checklist_binding_1.TaskChecklistBinding)
165
+ ], TaskChecklistBindingMutation);
166
+ async function getRecentDocumentNoByTaskCode(tx) {
167
+ // 날짜 6자리 생성 YYMMDD
168
+ const date = new Date();
169
+ const year = date.getFullYear().toString().slice(-2);
170
+ const month = (date.getMonth() + 1).toString().padStart(2, '0');
171
+ const day = date.getDate().toString().padStart(2, '0');
172
+ const DocNum = `${year}${month}${day}`;
173
+ const latestChecklist = await tx
174
+ .getRepository(supervision_1.Checklist)
175
+ .createQueryBuilder('c')
176
+ .where('c.document_no LIKE :pattern', { pattern: `${DocNum}-%` })
177
+ .orderBy('c.created_at', 'DESC')
178
+ .getOne();
179
+ let documentNo = '000001';
180
+ if (latestChecklist) {
181
+ const lastNo = latestChecklist.documentNo.split('-')[2];
182
+ documentNo = (Number(lastNo) + 1).toString().padStart(6, '0');
183
+ }
184
+ return `${DocNum}-${documentNo}`;
185
+ }
186
+ //# sourceMappingURL=task-checklist-binding-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-checklist-binding-mutation.js","sourceRoot":"","sources":["../../../server/service/task-checklist-binding/task-checklist-binding-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { TaskChecklistBinding } from './task-checklist-binding'\nimport { ChecklistReferenceType, Checklist, ChecklistItem, BuildingInspectionStatus, ProjectType } from '@dssp/supervision'\nimport { NewTaskChecklist, UpdateTaskChecklistSubmitType } from './task-checklist-binding-type'\n\n@Resolver(TaskChecklistBinding)\nexport class TaskChecklistBindingMutation {\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To create Task Checklist information' })\n async createTaskChecklist(@Arg('patch') patch: NewTaskChecklist, @Ctx() context: ResolverContext): Promise<boolean> {\n const { user, tx } = context.state\n const { checklist, checklistItem, managerId } = patch\n const { projectId, taskCode } = checklist\n const checklistRepository = tx.getRepository(Checklist)\n const checklistItemRepository = tx.getRepository(ChecklistItem)\n const taskChecklistBindingRepository = tx.getRepository(TaskChecklistBinding)\n\n // 1. 벨리데이션\n if (!checklist.constructionType) throw new Error('공종 타입이 없습니다.')\n if (!checklist.constructionDetailType) throw new Error('상세 공종 타입이 없습니다.')\n if (!checklist.name) throw new Error('체크리스트 이름이 없습니다.')\n if (checklistItem.length === 0) throw new Error('체크리스트 아이템이 없습니다.')\n\n // 2. checklist 저장\n const documentNo = await getRecentDocumentNoByTaskCode(tx)\n const savedChecklist = await checklistRepository.save({\n ...checklist,\n documentNo,\n projectType: ProjectType.DSSP,\n checklistReferenceType: ChecklistReferenceType.TASK,\n creator: user,\n updater: user\n })\n\n // 3. checklistItem 저장\n const checklistItems = checklistItem.map((item, idx) => ({\n name: item.name,\n mainType: item.mainType,\n detailType: item.detailType,\n inspctionCriteria: item.inspctionCriteria,\n sequence: idx,\n checklist: savedChecklist,\n creator: user,\n updater: user\n }))\n await checklistItemRepository.save(checklistItems)\n\n // 4. taskChecklistBinding 저장\n await taskChecklistBindingRepository.save({\n project: { id: projectId },\n taskCode,\n checklist: savedChecklist,\n status: BuildingInspectionStatus.WAIT,\n manager: { id: managerId },\n creator: user,\n updater: user\n })\n\n return true\n }\n\n // 체크리스트 상태 변경 & 체크리스트 갱신\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To update Task Checklist information' })\n async updateTaskChecklist(\n @Arg('taskChecklist') taskChecklist: UpdateTaskChecklistSubmitType,\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { user, tx } = context.state\n const { checklistId, checklist, checklistItem } = taskChecklist\n const checklistRepo = tx.getRepository(Checklist)\n const checklistItemRepo = tx.getRepository(ChecklistItem)\n const taskChecklistBindingRepository = tx.getRepository(TaskChecklistBinding)\n\n const currChecklist = await checklistRepo.findOneBy({ id: checklistId })\n const currTaskChecklistBinding = await taskChecklistBindingRepository.findOneBy({ checklist: { id: checklistId } })\n const status: any = currTaskChecklistBinding.status\n\n const isConstructor: boolean =\n status == BuildingInspectionStatus.WAIT ||\n status == BuildingInspectionStatus.OVERALL_WAIT ||\n status == BuildingInspectionStatus.FAIL\n let taskChecklistStatus = null\n\n // 1. 벨리데이션\n if (status == BuildingInspectionStatus.PASS) throw new Error('체크리스트 상태가 수정할 수 있는 상태가 아닙니다.')\n if (isConstructor) {\n // 시공자 타입별 밸리데이션\n if (checklistItem.length !== checklistItem.filter(v => v.constructionConfirmStatus).length) {\n throw new Error('아이템을 모두 체크해야 합니다.')\n }\n if (status == BuildingInspectionStatus.OVERALL_WAIT && !checklist.overallConstructorSignature) {\n throw new Error('총괄 시공책임자 사인이 없습니다.')\n }\n if (status == BuildingInspectionStatus.WAIT && !checklist.taskConstructorSignature) {\n throw new Error('공종별 시공관리자 사인이 없습니다.')\n }\n // 시공자 상태 데이터\n const isPassed = checklistItem.length === checklistItem.filter(v => v.constructionConfirmStatus === 'T').length\n if (!isPassed) {\n // 1. 검측이 불햡격 = 상태는 불합격으로, 시공자 싸인은 모두 초기화\n taskChecklistStatus = BuildingInspectionStatus.FAIL\n checklist.overallConstructorSignature = null\n checklist.taskConstructorSignature = null\n } else if (isPassed && (status === BuildingInspectionStatus.WAIT || status === BuildingInspectionStatus.FAIL)) {\n // 2. 검측이 합격이면서 공종 시공자 스탭 = 상태는 총괄 시공자 스탭으로\n taskChecklistStatus = BuildingInspectionStatus.OVERALL_WAIT\n } else if (isPassed && status === BuildingInspectionStatus.OVERALL_WAIT) {\n // 3. 검측이 합격이면서 총괄 시공자 스탭 = 상태는 공종 감리자 스탭으로, 감리자 싸인은 모두 초기화\n taskChecklistStatus = BuildingInspectionStatus.REQUEST\n checklist.overallSupervisorySignature = null\n checklist.taskSupervisorySignature = null\n }\n } else {\n // 감리자 타입별 밸리데이션\n if (checklistItem.length !== checklistItem.filter(v => v.supervisoryConfirmStatus).length) {\n throw new Error('아이템을 모두 체크해야 합니다.')\n }\n if (status == BuildingInspectionStatus.OVERALL_REQUEST && !checklist.overallSupervisorySignature) {\n throw new Error('총괄 감리책임자 사인이 없습니다.')\n }\n if (status == BuildingInspectionStatus.REQUEST && !checklist.taskSupervisorySignature) {\n throw new Error('공종별 감리 책임자 사인이 없습니다.')\n }\n // 감리자 상태 데이터\n const isPassed = checklistItem.length === checklistItem.filter(v => v.supervisoryConfirmStatus === 'T').length\n if (!isPassed) {\n // 1. 검측이 불햡격 = 상태는 불합격으로, 시공자 싸인은 모두 초기화\n taskChecklistStatus = BuildingInspectionStatus.FAIL\n checklist.overallConstructorSignature = null\n checklist.taskConstructorSignature = null\n } else if (isPassed && status === BuildingInspectionStatus.REQUEST) {\n // 2. 검측이 합격이면서 공종 감리자 스탭 = 상태는 총괄 감리자 스탭으로\n taskChecklistStatus = BuildingInspectionStatus.OVERALL_REQUEST\n } else if (isPassed && status === BuildingInspectionStatus.OVERALL_REQUEST) {\n // 3. 검측이 합격이면서 총괄 감리자 스탭 = 상태는 합격으로\n taskChecklistStatus = BuildingInspectionStatus.PASS\n }\n }\n\n // 3. checklist 저장\n const inspectionDateField = isConstructor ? 'constructionInspectionDate' : 'supervisorInspectionDate'\n await checklistRepo.save({\n ...currChecklist,\n [inspectionDateField]: new Date(),\n overallConstructorSignature: checklist.overallConstructorSignature,\n taskConstructorSignature: checklist.taskConstructorSignature,\n overallSupervisorySignature: checklist.overallSupervisorySignature,\n taskSupervisorySignature: checklist.taskSupervisorySignature,\n updater: user\n })\n\n // 4. checklistItem 저장\n for (let item of checklistItem) {\n const confirmStatusField = isConstructor ? 'constructionConfirmStatus' : 'supervisoryConfirmStatus'\n await checklistItemRepo.update(item.id, {\n [confirmStatusField]: item[confirmStatusField],\n updater: user\n })\n }\n\n // 5. taskChecklistBinding 저장\n await taskChecklistBindingRepository.save({\n ...currTaskChecklistBinding,\n status: taskChecklistStatus,\n updater: user\n })\n\n return true\n }\n}\n\nasync function getRecentDocumentNoByTaskCode(tx): Promise<string> {\n // 날짜 6자리 생성 YYMMDD\n const date = new Date()\n const year = date.getFullYear().toString().slice(-2)\n const month = (date.getMonth() + 1).toString().padStart(2, '0')\n const day = date.getDate().toString().padStart(2, '0')\n const DocNum = `${year}${month}${day}`\n\n const latestChecklist = await tx\n .getRepository(Checklist)\n .createQueryBuilder('c')\n .where('c.document_no LIKE :pattern', { pattern: `${DocNum}-%` })\n .orderBy('c.created_at', 'DESC')\n .getOne()\n\n let documentNo = '000001'\n if (latestChecklist) {\n const lastNo = latestChecklist.documentNo.split('-')[2]\n documentNo = (Number(lastNo) + 1).toString().padStart(6, '0')\n }\n\n return `${DocNum}-${documentNo}`\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { TaskChecklistBinding } from './task-checklist-binding';
2
+ import { Checklist } from '@dssp/supervision';
3
+ import { ManagerOutput } from '../manager/manager-type';
4
+ export declare class TaskChecklistBindingQuery {
5
+ taskChecklistBinding(id: string, context: ResolverContext): Promise<TaskChecklistBinding>;
6
+ checklist(taskChecklistBinding: TaskChecklistBinding): Promise<Checklist>;
7
+ manager(taskChecklistBinding: TaskChecklistBinding): Promise<ManagerOutput>;
8
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskChecklistBindingQuery = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const task_checklist_binding_1 = require("./task-checklist-binding");
7
+ const supervision_1 = require("@dssp/supervision");
8
+ const shell_1 = require("@things-factory/shell");
9
+ const manager_type_1 = require("../manager/manager-type");
10
+ const auth_base_1 = require("@things-factory/auth-base");
11
+ let TaskChecklistBindingQuery = class TaskChecklistBindingQuery {
12
+ async taskChecklistBinding(id, context) {
13
+ return await (0, shell_1.getRepository)(task_checklist_binding_1.TaskChecklistBinding).findOne({
14
+ where: { id },
15
+ relations: ['checklist', 'checklist.checklistItems']
16
+ });
17
+ }
18
+ async checklist(taskChecklistBinding) {
19
+ return await (0, shell_1.getRepository)(supervision_1.Checklist).findOneBy({ id: taskChecklistBinding.checklistId });
20
+ }
21
+ async manager(taskChecklistBinding) {
22
+ const queryBuilder = (0, shell_1.getRepository)(auth_base_1.User)
23
+ .createQueryBuilder('u')
24
+ .select('m.id', 'id')
25
+ .addSelect('m.phone', 'phone')
26
+ .addSelect('m.position', 'position')
27
+ .addSelect('u.id', 'userId')
28
+ .addSelect('u.name', 'name')
29
+ .addSelect('u.updated_at', 'updatedAt')
30
+ .leftJoin('managers', 'm', 'u.id = m.user_id')
31
+ .where('u.id = :userId', { userId: taskChecklistBinding.managerId });
32
+ return await queryBuilder.getRawOne();
33
+ }
34
+ };
35
+ exports.TaskChecklistBindingQuery = TaskChecklistBindingQuery;
36
+ tslib_1.__decorate([
37
+ (0, type_graphql_1.Query)(returns => task_checklist_binding_1.TaskChecklistBinding, { nullable: true, description: 'Fetch a single TaskChecklistBinding by its ID' }),
38
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
39
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
40
+ tslib_1.__metadata("design:type", Function),
41
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
42
+ tslib_1.__metadata("design:returntype", Promise)
43
+ ], TaskChecklistBindingQuery.prototype, "taskChecklistBinding", null);
44
+ tslib_1.__decorate([
45
+ (0, type_graphql_1.FieldResolver)(type => supervision_1.Checklist, { description: 'Fetch the checklist' }),
46
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
47
+ tslib_1.__metadata("design:type", Function),
48
+ tslib_1.__metadata("design:paramtypes", [task_checklist_binding_1.TaskChecklistBinding]),
49
+ tslib_1.__metadata("design:returntype", Promise)
50
+ ], TaskChecklistBindingQuery.prototype, "checklist", null);
51
+ tslib_1.__decorate([
52
+ (0, type_graphql_1.FieldResolver)(type => manager_type_1.ManagerOutput),
53
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
54
+ tslib_1.__metadata("design:type", Function),
55
+ tslib_1.__metadata("design:paramtypes", [task_checklist_binding_1.TaskChecklistBinding]),
56
+ tslib_1.__metadata("design:returntype", Promise)
57
+ ], TaskChecklistBindingQuery.prototype, "manager", null);
58
+ exports.TaskChecklistBindingQuery = TaskChecklistBindingQuery = tslib_1.__decorate([
59
+ (0, type_graphql_1.Resolver)(task_checklist_binding_1.TaskChecklistBinding)
60
+ ], TaskChecklistBindingQuery);
61
+ //# sourceMappingURL=task-checklist-binding-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-checklist-binding-query.js","sourceRoot":"","sources":["../../../server/service/task-checklist-binding/task-checklist-binding-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA6E;AAC7E,qEAA+D;AAC/D,mDAA6C;AAC7C,iDAAqD;AACrD,0DAAuD;AACvD,yDAAgD;AAGzC,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAE9B,AAAN,KAAK,CAAC,oBAAoB,CAAY,EAAU,EAAS,OAAwB;QAC/E,OAAO,MAAM,IAAA,qBAAa,EAAC,6CAAoB,CAAC,CAAC,OAAO,CAAC;YACvD,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,SAAS,EAAE,CAAC,WAAW,EAAE,0BAA0B,CAAC;SACrD,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAS,oBAA0C;QAChE,OAAO,MAAM,IAAA,qBAAa,EAAC,uBAAS,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,oBAAoB,CAAC,WAAW,EAAE,CAAC,CAAA;IAC3F,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,oBAA0C;QAC9D,MAAM,YAAY,GAAG,IAAA,qBAAa,EAAC,gBAAI,CAAC;aACrC,kBAAkB,CAAC,GAAG,CAAC;aACvB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;aACpB,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;aAC7B,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC;aACnC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;aAC3B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;aAC3B,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC;aACtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,kBAAkB,CAAC;aAC7C,KAAK,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,SAAS,EAAE,CAAC,CAAA;QAEtE,OAAO,MAAM,YAAY,CAAC,SAAS,EAAE,CAAA;IACvC,CAAC;CACF,CAAA;AA7BY,8DAAyB;AAE9B;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,6CAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,+CAA+C,EAAE,CAAC;IAC9F,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;qEAKvD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,uBAAS,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACxD,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAuB,6CAAoB;;0DAEjE;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,4BAAa,CAAC;IACtB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAuB,6CAAoB;;wDAa/D;oCA5BU,yBAAyB;IADrC,IAAA,uBAAQ,EAAC,6CAAoB,CAAC;GAClB,yBAAyB,CA6BrC","sourcesContent":["import { FieldResolver, Query, Resolver, Root, Arg, Ctx } from 'type-graphql'\nimport { TaskChecklistBinding } from './task-checklist-binding'\nimport { Checklist } from '@dssp/supervision'\nimport { getRepository } from '@things-factory/shell'\nimport { ManagerOutput } from '../manager/manager-type'\nimport { User } from '@things-factory/auth-base'\n\n@Resolver(TaskChecklistBinding)\nexport class TaskChecklistBindingQuery {\n @Query(returns => TaskChecklistBinding!, { nullable: true, description: 'Fetch a single TaskChecklistBinding by its ID' })\n async taskChecklistBinding(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<TaskChecklistBinding> {\n return await getRepository(TaskChecklistBinding).findOne({\n where: { id },\n relations: ['checklist', 'checklist.checklistItems']\n })\n }\n\n @FieldResolver(type => Checklist, { description: 'Fetch the checklist' })\n async checklist(@Root() taskChecklistBinding: TaskChecklistBinding): Promise<Checklist> {\n return await getRepository(Checklist).findOneBy({ id: taskChecklistBinding.checklistId })\n }\n\n @FieldResolver(type => ManagerOutput)\n async manager(@Root() taskChecklistBinding: TaskChecklistBinding): Promise<ManagerOutput> {\n const queryBuilder = getRepository(User)\n .createQueryBuilder('u')\n .select('m.id', 'id')\n .addSelect('m.phone', 'phone')\n .addSelect('m.position', 'position')\n .addSelect('u.id', 'userId')\n .addSelect('u.name', 'name')\n .addSelect('u.updated_at', 'updatedAt')\n .leftJoin('managers', 'm', 'u.id = m.user_id')\n .where('u.id = :userId', { userId: taskChecklistBinding.managerId })\n\n return await queryBuilder.getRawOne()\n }\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { ChecklistItemInputType, ChecklistInputType, ChecklistSubmitInputType, ChecklistItemSubmitInputType } from '@dssp/supervision';
2
+ export declare class TaskChecklistInputType extends ChecklistInputType {
3
+ taskCode?: string;
4
+ projectId?: string;
5
+ }
6
+ export declare class NewTaskChecklist {
7
+ checklist: TaskChecklistInputType;
8
+ checklistItem: ChecklistItemInputType[];
9
+ managerId?: string;
10
+ }
11
+ export declare class UpdateTaskChecklistSubmitType {
12
+ checklistId: string;
13
+ checklist: ChecklistSubmitInputType;
14
+ checklistItem: ChecklistItemSubmitInputType[];
15
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateTaskChecklistSubmitType = exports.NewTaskChecklist = exports.TaskChecklistInputType = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const supervision_1 = require("@dssp/supervision");
7
+ let TaskChecklistInputType = class TaskChecklistInputType extends supervision_1.ChecklistInputType {
8
+ };
9
+ exports.TaskChecklistInputType = TaskChecklistInputType;
10
+ tslib_1.__decorate([
11
+ (0, type_graphql_1.Field)({ nullable: true }),
12
+ tslib_1.__metadata("design:type", String)
13
+ ], TaskChecklistInputType.prototype, "taskCode", void 0);
14
+ tslib_1.__decorate([
15
+ (0, type_graphql_1.Field)({ nullable: true }),
16
+ tslib_1.__metadata("design:type", String)
17
+ ], TaskChecklistInputType.prototype, "projectId", void 0);
18
+ exports.TaskChecklistInputType = TaskChecklistInputType = tslib_1.__decorate([
19
+ (0, type_graphql_1.InputType)()
20
+ ], TaskChecklistInputType);
21
+ let NewTaskChecklist = class NewTaskChecklist {
22
+ };
23
+ exports.NewTaskChecklist = NewTaskChecklist;
24
+ tslib_1.__decorate([
25
+ (0, type_graphql_1.Field)(type => TaskChecklistInputType, { nullable: false }),
26
+ tslib_1.__metadata("design:type", TaskChecklistInputType)
27
+ ], NewTaskChecklist.prototype, "checklist", void 0);
28
+ tslib_1.__decorate([
29
+ (0, type_graphql_1.Field)(type => [supervision_1.ChecklistItemInputType], { nullable: false }),
30
+ tslib_1.__metadata("design:type", Array)
31
+ ], NewTaskChecklist.prototype, "checklistItem", void 0);
32
+ tslib_1.__decorate([
33
+ (0, type_graphql_1.Field)({ nullable: true }),
34
+ tslib_1.__metadata("design:type", String)
35
+ ], NewTaskChecklist.prototype, "managerId", void 0);
36
+ exports.NewTaskChecklist = NewTaskChecklist = tslib_1.__decorate([
37
+ (0, type_graphql_1.InputType)()
38
+ ], NewTaskChecklist);
39
+ let UpdateTaskChecklistSubmitType = class UpdateTaskChecklistSubmitType {
40
+ };
41
+ exports.UpdateTaskChecklistSubmitType = UpdateTaskChecklistSubmitType;
42
+ tslib_1.__decorate([
43
+ (0, type_graphql_1.Field)({ nullable: false }),
44
+ tslib_1.__metadata("design:type", String)
45
+ ], UpdateTaskChecklistSubmitType.prototype, "checklistId", void 0);
46
+ tslib_1.__decorate([
47
+ (0, type_graphql_1.Field)(type => supervision_1.ChecklistSubmitInputType, { nullable: false }),
48
+ tslib_1.__metadata("design:type", supervision_1.ChecklistSubmitInputType)
49
+ ], UpdateTaskChecklistSubmitType.prototype, "checklist", void 0);
50
+ tslib_1.__decorate([
51
+ (0, type_graphql_1.Field)(type => [supervision_1.ChecklistItemSubmitInputType], { nullable: false }),
52
+ tslib_1.__metadata("design:type", Array)
53
+ ], UpdateTaskChecklistSubmitType.prototype, "checklistItem", void 0);
54
+ exports.UpdateTaskChecklistSubmitType = UpdateTaskChecklistSubmitType = tslib_1.__decorate([
55
+ (0, type_graphql_1.InputType)()
56
+ ], UpdateTaskChecklistSubmitType);
57
+ //# sourceMappingURL=task-checklist-binding-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-checklist-binding-type.js","sourceRoot":"","sources":["../../../server/service/task-checklist-binding/task-checklist-binding-type.ts"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAC/C,mDAK0B;AAGnB,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,gCAAkB;CAM7D,CAAA;AANY,wDAAsB;AAEjC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACT;AAGjB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACR;iCALP,sBAAsB;IADlC,IAAA,wBAAS,GAAE;GACC,sBAAsB,CAMlC;AAGM,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAS5B,CAAA;AATY,4CAAgB;AAE3B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;sCAChD,sBAAsB;mDAAA;AAGjC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oCAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;uDACtB;AAGvC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACR;2BARP,gBAAgB;IAD5B,IAAA,wBAAS,GAAE;GACC,gBAAgB,CAS5B;AAGM,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;CASzC,CAAA;AATY,sEAA6B;AAExC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;kEACR;AAGnB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,sCAAwB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;sCAClD,sCAAwB;gEAAA;AAGnC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,0CAA4B,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;oEACtB;wCARlC,6BAA6B;IADzC,IAAA,wBAAS,GAAE;GACC,6BAA6B,CASzC","sourcesContent":["import { Field, InputType } from 'type-graphql'\nimport {\n ChecklistItemInputType,\n ChecklistInputType,\n ChecklistSubmitInputType,\n ChecklistItemSubmitInputType\n} from '@dssp/supervision'\n\n@InputType()\nexport class TaskChecklistInputType extends ChecklistInputType {\n @Field({ nullable: true })\n taskCode?: string\n\n @Field({ nullable: true })\n projectId?: string\n}\n\n@InputType()\nexport class NewTaskChecklist {\n @Field(type => TaskChecklistInputType, { nullable: false })\n checklist: TaskChecklistInputType\n\n @Field(type => [ChecklistItemInputType], { nullable: false })\n checklistItem: ChecklistItemInputType[]\n\n @Field({ nullable: true })\n managerId?: string\n}\n\n@InputType()\nexport class UpdateTaskChecklistSubmitType {\n @Field({ nullable: false })\n checklistId: string\n\n @Field(type => ChecklistSubmitInputType, { nullable: false })\n checklist: ChecklistSubmitInputType\n\n @Field(type => [ChecklistItemSubmitInputType], { nullable: false })\n checklistItem: ChecklistItemSubmitInputType[]\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import { User } from '@things-factory/auth-base';
2
+ import { Project } from '../project/project';
3
+ import { Task } from '../task/task';
4
+ import { BuildingInspectionStatus, Checklist } from '@dssp/supervision';
5
+ export declare class TaskChecklistBinding {
6
+ readonly id: string;
7
+ project?: Project;
8
+ projectId: string;
9
+ taskCode: string;
10
+ task?: Task;
11
+ checklist?: Checklist;
12
+ checklistId: string;
13
+ status?: BuildingInspectionStatus;
14
+ manager?: User;
15
+ managerId?: string;
16
+ createdAt?: Date;
17
+ creator?: User;
18
+ creatorId?: string;
19
+ updatedAt?: Date;
20
+ updater?: User;
21
+ updaterId?: string;
22
+ }
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskChecklistBinding = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const typeorm_1 = require("typeorm");
6
+ const type_graphql_1 = require("type-graphql");
7
+ const auth_base_1 = require("@things-factory/auth-base");
8
+ const project_1 = require("../project/project");
9
+ const task_1 = require("../task/task");
10
+ const supervision_1 = require("@dssp/supervision");
11
+ const manager_type_1 = require("../manager/manager-type");
12
+ let TaskChecklistBinding = class TaskChecklistBinding {
13
+ };
14
+ exports.TaskChecklistBinding = TaskChecklistBinding;
15
+ tslib_1.__decorate([
16
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
17
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID),
18
+ tslib_1.__metadata("design:type", String)
19
+ ], TaskChecklistBinding.prototype, "id", void 0);
20
+ tslib_1.__decorate([
21
+ (0, typeorm_1.ManyToOne)(() => project_1.Project),
22
+ (0, typeorm_1.JoinColumn)(),
23
+ (0, type_graphql_1.Field)(() => project_1.Project, { nullable: true }),
24
+ tslib_1.__metadata("design:type", project_1.Project)
25
+ ], TaskChecklistBinding.prototype, "project", void 0);
26
+ tslib_1.__decorate([
27
+ (0, typeorm_1.RelationId)((taskChecklistBinding) => taskChecklistBinding.project),
28
+ tslib_1.__metadata("design:type", String)
29
+ ], TaskChecklistBinding.prototype, "projectId", void 0);
30
+ tslib_1.__decorate([
31
+ (0, typeorm_1.Column)({ nullable: false, comment: '작업 코드' }),
32
+ (0, type_graphql_1.Field)(),
33
+ tslib_1.__metadata("design:type", String)
34
+ ], TaskChecklistBinding.prototype, "taskCode", void 0);
35
+ tslib_1.__decorate([
36
+ (0, typeorm_1.OneToOne)(() => task_1.Task, task => task.taskChecklistBinding, { nullable: true }),
37
+ (0, type_graphql_1.Field)(type => task_1.Task, { nullable: true }),
38
+ tslib_1.__metadata("design:type", task_1.Task)
39
+ ], TaskChecklistBinding.prototype, "task", void 0);
40
+ tslib_1.__decorate([
41
+ (0, typeorm_1.OneToOne)(() => supervision_1.Checklist),
42
+ (0, typeorm_1.JoinColumn)(),
43
+ (0, type_graphql_1.Field)(() => supervision_1.Checklist, { nullable: true }),
44
+ tslib_1.__metadata("design:type", supervision_1.Checklist)
45
+ ], TaskChecklistBinding.prototype, "checklist", void 0);
46
+ tslib_1.__decorate([
47
+ (0, typeorm_1.RelationId)((taskChecklistBinding) => taskChecklistBinding.checklist),
48
+ tslib_1.__metadata("design:type", String)
49
+ ], TaskChecklistBinding.prototype, "checklistId", void 0);
50
+ tslib_1.__decorate([
51
+ (0, typeorm_1.Column)({
52
+ nullable: false,
53
+ comment: '상태(WAIT: 작업 완료, OVERALL_WAIT: 총괄자 작업 완료, REQUEST: 검측 요청, OVERALL_REQUEST: 총괄자 검측 요청, PASS: 합격(검측 완료), FAIL: 불합격(조치 필요))',
54
+ default: supervision_1.BuildingInspectionStatus.WAIT
55
+ }),
56
+ (0, type_graphql_1.Field)({ nullable: true }),
57
+ tslib_1.__metadata("design:type", String)
58
+ ], TaskChecklistBinding.prototype, "status", void 0);
59
+ tslib_1.__decorate([
60
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
61
+ (0, type_graphql_1.Field)(type => manager_type_1.ManagerOutput, { nullable: true }),
62
+ tslib_1.__metadata("design:type", auth_base_1.User)
63
+ ], TaskChecklistBinding.prototype, "manager", void 0);
64
+ tslib_1.__decorate([
65
+ (0, typeorm_1.RelationId)((taskChecklistBinding) => taskChecklistBinding.manager),
66
+ tslib_1.__metadata("design:type", String)
67
+ ], TaskChecklistBinding.prototype, "managerId", void 0);
68
+ tslib_1.__decorate([
69
+ (0, typeorm_1.CreateDateColumn)(),
70
+ (0, type_graphql_1.Field)({ nullable: true }),
71
+ tslib_1.__metadata("design:type", Date)
72
+ ], TaskChecklistBinding.prototype, "createdAt", void 0);
73
+ tslib_1.__decorate([
74
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
75
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
76
+ tslib_1.__metadata("design:type", auth_base_1.User)
77
+ ], TaskChecklistBinding.prototype, "creator", void 0);
78
+ tslib_1.__decorate([
79
+ (0, typeorm_1.RelationId)((binding) => binding.creator),
80
+ tslib_1.__metadata("design:type", String)
81
+ ], TaskChecklistBinding.prototype, "creatorId", void 0);
82
+ tslib_1.__decorate([
83
+ (0, typeorm_1.UpdateDateColumn)(),
84
+ (0, type_graphql_1.Field)({ nullable: true }),
85
+ tslib_1.__metadata("design:type", Date)
86
+ ], TaskChecklistBinding.prototype, "updatedAt", void 0);
87
+ tslib_1.__decorate([
88
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
89
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
90
+ tslib_1.__metadata("design:type", auth_base_1.User)
91
+ ], TaskChecklistBinding.prototype, "updater", void 0);
92
+ tslib_1.__decorate([
93
+ (0, typeorm_1.RelationId)((binding) => binding.updater),
94
+ tslib_1.__metadata("design:type", String)
95
+ ], TaskChecklistBinding.prototype, "updaterId", void 0);
96
+ exports.TaskChecklistBinding = TaskChecklistBinding = tslib_1.__decorate([
97
+ (0, typeorm_1.Entity)(),
98
+ (0, typeorm_1.Index)('ix_task_checklist_binding_task', (binding) => [binding.project, binding.taskCode], {
99
+ unique: true
100
+ }),
101
+ (0, typeorm_1.Index)('ix_task_checklist_binding_checklist', (binding) => [binding.checklist])
102
+ // 1:1 관계 - Task는 사라지므로 프로젝트 ID + Task Code로 조인 하며 상태를 가지고 있는 테이블
103
+ ,
104
+ (0, type_graphql_1.ObjectType)({ description: 'Task와 Checklist 간의 바인딩 정보' })
105
+ ], TaskChecklistBinding);
106
+ //# sourceMappingURL=task-checklist-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-checklist-binding.js","sourceRoot":"","sources":["../../../server/service/task-checklist-binding/task-checklist-binding.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CreateDateColumn,\n Entity,\n Index,\n Column,\n RelationId,\n ManyToOne,\n OneToOne,\n PrimaryGeneratedColumn,\n JoinColumn,\n UpdateDateColumn\n} from 'typeorm'\nimport { ObjectType, Field, ID } from 'type-graphql'\nimport { User } from '@things-factory/auth-base'\nimport { Project } from '../project/project'\nimport { Task } from '../task/task'\nimport { BuildingInspectionStatus, Checklist } from '@dssp/supervision'\nimport { ManagerOutput } from '../manager/manager-type'\n\n@Entity()\n@Index('ix_task_checklist_binding_task', (binding: TaskChecklistBinding) => [binding.project, binding.taskCode], {\n unique: true\n})\n@Index('ix_task_checklist_binding_checklist', (binding: TaskChecklistBinding) => [binding.checklist])\n// 1:1 관계 - Task는 사라지므로 프로젝트 ID + Task Code로 조인 하며 상태를 가지고 있는 테이블\n@ObjectType({ description: 'Task와 Checklist 간의 바인딩 정보' })\nexport class TaskChecklistBinding {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n // Task 정보는 projectId로 + taskCode로 조회\n @ManyToOne(() => Project)\n @JoinColumn()\n @Field(() => Project, { nullable: true })\n project?: Project\n\n @RelationId((taskChecklistBinding: TaskChecklistBinding) => taskChecklistBinding.project)\n projectId: string\n\n // Task 관계 정보 (taskCode + projectId가 Task의 복합키 역할)\n @Column({ nullable: false, comment: '작업 코드' })\n @Field()\n taskCode: string\n\n @OneToOne(() => Task, task => task.taskChecklistBinding, { nullable: true })\n @Field(type => Task, { nullable: true })\n task?: Task\n\n @OneToOne(() => Checklist)\n @JoinColumn()\n @Field(() => Checklist, { nullable: true })\n checklist?: Checklist\n\n @RelationId((taskChecklistBinding: TaskChecklistBinding) => taskChecklistBinding.checklist)\n checklistId: string\n\n // 검측 상태와 동일한 값이라서 재활용\n @Column({\n nullable: false,\n comment:\n '상태(WAIT: 작업 완료, OVERALL_WAIT: 총괄자 작업 완료, REQUEST: 검측 요청, OVERALL_REQUEST: 총괄자 검측 요청, PASS: 합격(검측 완료), FAIL: 불합격(조치 필요))',\n default: BuildingInspectionStatus.WAIT\n })\n @Field({ nullable: true })\n status?: BuildingInspectionStatus\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => ManagerOutput, { nullable: true })\n manager?: User\n\n @RelationId((taskChecklistBinding: TaskChecklistBinding) => taskChecklistBinding.manager)\n managerId?: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((binding: TaskChecklistBinding) => binding.creator)\n creatorId?: string\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((binding: TaskChecklistBinding) => binding.updater)\n updaterId?: string\n}\n"]}
@@ -2,6 +2,6 @@ import { ListParam } from '@things-factory/shell';
2
2
  import { TaskResource } from './task-resource';
3
3
  import { TaskResourceList } from './task-resource-type';
4
4
  export declare class TaskResourceQuery {
5
- taskResource(id: string, context: ResolverContext): Promise<TaskResource>;
6
- taskResources(params: ListParam, context: ResolverContext): Promise<TaskResourceList>;
5
+ taskResource(id: string): Promise<TaskResource>;
6
+ taskResources(params: ListParam): Promise<TaskResourceList>;
7
7
  }
@@ -7,16 +7,13 @@ const shell_1 = require("@things-factory/shell");
7
7
  const task_resource_1 = require("./task-resource");
8
8
  const task_resource_type_1 = require("./task-resource-type");
9
9
  let TaskResourceQuery = class TaskResourceQuery {
10
- async taskResource(id, context) {
11
- const { domain } = context.state;
10
+ async taskResource(id) {
12
11
  return await (0, shell_1.getRepository)(task_resource_1.TaskResource).findOne({
13
12
  where: { id }
14
13
  });
15
14
  }
16
- async taskResources(params, context) {
17
- const { domain } = context.state;
15
+ async taskResources(params) {
18
16
  const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
19
- domain,
20
17
  params,
21
18
  repository: await (0, shell_1.getRepository)(task_resource_1.TaskResource),
22
19
  searchables: ['name', 'description']
@@ -30,18 +27,16 @@ tslib_1.__decorate([
30
27
  (0, type_graphql_1.Directive)('@privilege(category: "project", privilege: "query", domainOwnerGranted: true)'),
31
28
  (0, type_graphql_1.Query)(returns => task_resource_1.TaskResource, { nullable: true, description: 'To fetch a TaskResource' }),
32
29
  tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
33
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
34
30
  tslib_1.__metadata("design:type", Function),
35
- tslib_1.__metadata("design:paramtypes", [String, Object]),
31
+ tslib_1.__metadata("design:paramtypes", [String]),
36
32
  tslib_1.__metadata("design:returntype", Promise)
37
33
  ], TaskResourceQuery.prototype, "taskResource", null);
38
34
  tslib_1.__decorate([
39
35
  (0, type_graphql_1.Directive)('@privilege(category: "project", privilege: "query", domainOwnerGranted: true)'),
40
36
  (0, type_graphql_1.Query)(returns => task_resource_type_1.TaskResourceList, { description: 'To fetch multiple TaskResources' }),
41
37
  tslib_1.__param(0, (0, type_graphql_1.Args)()),
42
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
43
38
  tslib_1.__metadata("design:type", Function),
44
- tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
39
+ tslib_1.__metadata("design:paramtypes", [shell_1.ListParam]),
45
40
  tslib_1.__metadata("design:returntype", Promise)
46
41
  ], TaskResourceQuery.prototype, "taskResources", null);
47
42
  exports.TaskResourceQuery = TaskResourceQuery = tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"task-resource-query.js","sourceRoot":"","sources":["../../../server/service/task-resource/task-resource-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA8F;AAE9F,iDAAuG;AAEvG,mDAA8C;AAC9C,6DAAuD;AAGhD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAGtB,AAAN,KAAK,CAAC,YAAY,CAAY,EAAU,EAAS,OAAwB;QACvE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,qBAAa,EAAC,4BAAY,CAAC,CAAC,OAAO,CAAC;YAC/C,KAAK,EAAE,EAAE,EAAE,EAAE;SACd,CAAC,CAAA;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,aAAa,CAAS,MAAiB,EAAS,OAAwB;QAC5E,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,4BAAY,CAAC;YAC7C,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;CACF,CAAA;AA3BY,8CAAiB;AAGtB;IAFL,IAAA,wBAAS,EAAC,+EAA+E,CAAC;IAC1F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,4BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACxE,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;qDAM/C;AAIK;IAFL,IAAA,wBAAS,EAAC,+EAA+E,CAAC;IAC1F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,qCAAgB,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;IAClE,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,iBAAS;;sDAa5C;4BA1BU,iBAAiB;IAD7B,IAAA,uBAAQ,EAAC,4BAAY,CAAC;GACV,iBAAiB,CA2B7B","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'\nimport { Attachment } from '@things-factory/attachment-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { TaskResource } from './task-resource'\nimport { TaskResourceList } from './task-resource-type'\n\n@Resolver(TaskResource)\nexport class TaskResourceQuery {\n @Directive('@privilege(category: \"project\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => TaskResource!, { nullable: true, description: 'To fetch a TaskResource' })\n async taskResource(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<TaskResource> {\n const { domain } = context.state\n\n return await getRepository(TaskResource).findOne({\n where: { id }\n })\n }\n\n @Directive('@privilege(category: \"project\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => TaskResourceList, { description: 'To fetch multiple TaskResources' })\n async taskResources(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<TaskResourceList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(TaskResource),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n}\n"]}
1
+ {"version":3,"file":"task-resource-query.js","sourceRoot":"","sources":["../../../server/service/task-resource/task-resource-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA8F;AAE9F,iDAAuG;AAEvG,mDAA8C;AAC9C,6DAAuD;AAGhD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAGtB,AAAN,KAAK,CAAC,YAAY,CAAY,EAAU;QACtC,OAAO,MAAM,IAAA,qBAAa,EAAC,4BAAY,CAAC,CAAC,OAAO,CAAC;YAC/C,KAAK,EAAE,EAAE,EAAE,EAAE;SACd,CAAC,CAAA;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,aAAa,CAAS,MAAiB;QAC3C,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,4BAAY,CAAC;YAC7C,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;CACF,CAAA;AAtBY,8CAAiB;AAGtB;IAFL,IAAA,wBAAS,EAAC,+EAA+E,CAAC;IAC1F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,4BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACxE,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;;;;qDAI5B;AAIK;IAFL,IAAA,wBAAS,EAAC,+EAA+E,CAAC;IAC1F,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,qCAAgB,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;IAClE,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAS,iBAAS;;sDAU5C;4BArBU,iBAAiB;IAD7B,IAAA,uBAAQ,EAAC,4BAAY,CAAC;GACV,iBAAiB,CAsB7B","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'\nimport { Attachment } from '@things-factory/attachment-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { TaskResource } from './task-resource'\nimport { TaskResourceList } from './task-resource-type'\n\n@Resolver(TaskResource)\nexport class TaskResourceQuery {\n @Directive('@privilege(category: \"project\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => TaskResource!, { nullable: true, description: 'To fetch a TaskResource' })\n async taskResource(@Arg('id') id: string): Promise<TaskResource> {\n return await getRepository(TaskResource).findOne({\n where: { id }\n })\n }\n\n @Directive('@privilege(category: \"project\", privilege: \"query\", domainOwnerGranted: true)')\n @Query(returns => TaskResourceList, { description: 'To fetch multiple TaskResources' })\n async taskResources(@Args() params: ListParam): Promise<TaskResourceList> {\n const queryBuilder = getQueryBuilderFromListParams({\n params,\n repository: await getRepository(TaskResource),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n}\n"]}
@@ -3,8 +3,8 @@ import { User } from '@things-factory/auth-base';
3
3
  import { WorkerType } from './worker-type';
4
4
  import { WorkerTypeList } from './worker-type-type';
5
5
  export declare class WorkerTypeQuery {
6
- workerType(id: string, context: ResolverContext): Promise<WorkerType>;
7
- workerTypes(params: ListParam, context: ResolverContext): Promise<WorkerTypeList>;
6
+ workerType(id: string): Promise<WorkerType>;
7
+ workerTypes(params: ListParam): Promise<WorkerTypeList>;
8
8
  domain(workerType: WorkerType): Promise<Domain>;
9
9
  updater(workerType: WorkerType): Promise<User>;
10
10
  creator(workerType: WorkerType): Promise<User>;