@dssp/project 1.0.0-alpha.2 → 1.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-client/pages/lib/select2-component.js +1 -1
- package/dist-client/pages/lib/select2-component.js.map +1 -1
- package/dist-client/pages/lib/waether.d.ts +2 -1
- package/dist-client/pages/lib/waether.js +7 -3
- package/dist-client/pages/lib/waether.js.map +1 -1
- package/dist-client/pages/project/component/project-update-header.js.map +1 -1
- package/dist-client/pages/project/popup/popup-plan-export.d.ts +10 -0
- package/dist-client/pages/project/popup/popup-plan-export.js +236 -0
- package/dist-client/pages/project/popup/popup-plan-export.js.map +1 -0
- package/dist-client/pages/project/popup/popup-plan-upload.d.ts +3 -0
- package/dist-client/pages/project/popup/popup-plan-upload.js +130 -4
- package/dist-client/pages/project/popup/popup-plan-upload.js.map +1 -1
- package/dist-client/pages/project/popup/popup-project-create.js.map +1 -1
- package/dist-client/pages/project/popup/popup-schedule-upload.js.map +1 -1
- package/dist-client/pages/project/project-completed-list.js +0 -1
- package/dist-client/pages/project/project-completed-list.js.map +1 -1
- package/dist-client/pages/project/project-detail.d.ts +2 -1
- package/dist-client/pages/project/project-detail.js +193 -80
- package/dist-client/pages/project/project-detail.js.map +1 -1
- package/dist-client/pages/project/project-list.d.ts +12 -0
- package/dist-client/pages/project/project-list.js +15 -8
- package/dist-client/pages/project/project-list.js.map +1 -1
- package/dist-client/pages/project/project-plan-management.js +29 -13
- package/dist-client/pages/project/project-plan-management.js.map +1 -1
- package/dist-client/pages/project/project-schedule-list.js.map +1 -1
- package/dist-client/pages/project/project-schedule.js.map +1 -1
- package/dist-client/pages/project/project-setting-list.js +25 -24
- package/dist-client/pages/project/project-setting-list.js.map +1 -1
- package/dist-client/pages/project/project-update.d.ts +1 -0
- package/dist-client/pages/project/project-update.js +128 -17
- package/dist-client/pages/project/project-update.js.map +1 -1
- package/dist-client/pages/resource/construction-detail-type-popup.js.map +1 -1
- package/dist-client/pages/resource/construction-type-management.js.map +1 -1
- package/dist-client/pages/resource/inspection-drawing-type-management.js.map +1 -1
- package/dist-client/pages/resource/inspection-part-popup.js.map +1 -1
- package/dist-client/pages/resource/resource-importer.js.map +1 -1
- package/dist-client/pages/resource/resource-list-page.js.map +1 -1
- package/dist-client/pages/resource/worker-type-management.js.map +1 -1
- package/dist-client/pages/task/task-importer.js.map +1 -1
- package/dist-client/pages/task/task-list-page.js.map +1 -1
- package/dist-client/pages/task-resource/task-resource-importer.js.map +1 -1
- package/dist-client/pages/task-resource/task-resource-list-page.js.map +1 -1
- package/dist-client/route.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/controllers/export-tasks.js +1 -2
- package/dist-server/controllers/export-tasks.js.map +1 -1
- package/dist-server/controllers/import-task.js +1 -2
- package/dist-server/controllers/import-task.js.map +1 -1
- package/dist-server/controllers/parse-excel.d.ts +0 -2
- package/dist-server/controllers/parse-excel.js +1 -2
- package/dist-server/controllers/parse-excel.js.map +1 -1
- package/dist-server/middlewares/index.js +1 -2
- package/dist-server/middlewares/index.js.map +1 -1
- package/dist-server/migrations/1723861466413-seed-roles.js.map +1 -1
- package/dist-server/migrations/1723861466414-seed-codes.js.map +1 -1
- package/dist-server/migrations/1723861476419-seed-resources.js.map +1 -1
- package/dist-server/migrations/1723861478420-seed-/bsample-project.js.map +1 -1
- package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js.map +1 -1
- package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js +2 -2
- package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js.map +1 -1
- package/dist-server/service/construction-detail-type/construction-detail-type-query.js +2 -2
- package/dist-server/service/construction-detail-type/construction-detail-type-query.js.map +1 -1
- package/dist-server/service/construction-detail-type/construction-detail-type-type.js +4 -4
- package/dist-server/service/construction-detail-type/construction-detail-type-type.js.map +1 -1
- package/dist-server/service/construction-detail-type/construction-detail-type.js +2 -2
- package/dist-server/service/construction-detail-type/construction-detail-type.js.map +1 -1
- package/dist-server/service/construction-type/construction-type-mutation.js +2 -2
- package/dist-server/service/construction-type/construction-type-mutation.js.map +1 -1
- package/dist-server/service/construction-type/construction-type-query.js +2 -2
- package/dist-server/service/construction-type/construction-type-query.js.map +1 -1
- package/dist-server/service/construction-type/construction-type-type.js +4 -4
- package/dist-server/service/construction-type/construction-type-type.js.map +1 -1
- package/dist-server/service/construction-type/construction-type.js +2 -2
- package/dist-server/service/construction-type/construction-type.js.map +1 -1
- package/dist-server/service/index.d.ts +1 -0
- package/dist-server/service/index.js +1 -0
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js +2 -2
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js.map +1 -1
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js +2 -2
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js.map +1 -1
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js +4 -4
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js.map +1 -1
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js +2 -2
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js.map +1 -1
- package/dist-server/service/inspection-part/inspection-part-mutation.js +2 -2
- package/dist-server/service/inspection-part/inspection-part-mutation.js.map +1 -1
- package/dist-server/service/inspection-part/inspection-part-query.js +2 -2
- package/dist-server/service/inspection-part/inspection-part-query.js.map +1 -1
- package/dist-server/service/inspection-part/inspection-part-type.js +4 -4
- package/dist-server/service/inspection-part/inspection-part-type.js.map +1 -1
- package/dist-server/service/inspection-part/inspection-part.js +2 -2
- package/dist-server/service/inspection-part/inspection-part.js.map +1 -1
- package/dist-server/service/manager/index.d.ts +2 -0
- package/dist-server/service/manager/index.js +3 -1
- package/dist-server/service/manager/index.js.map +1 -1
- package/dist-server/service/manager/manager-mutation.js +2 -2
- package/dist-server/service/manager/manager-mutation.js.map +1 -1
- package/dist-server/service/manager/manager-query.js +3 -3
- package/dist-server/service/manager/manager-query.js.map +1 -1
- package/dist-server/service/manager/manager-type.js +4 -4
- package/dist-server/service/manager/manager-type.js.map +1 -1
- package/dist-server/service/manager/manager.js +2 -2
- package/dist-server/service/manager/manager.js.map +1 -1
- package/dist-server/service/project/project-mutation.d.ts +1 -0
- package/dist-server/service/project/project-mutation.js +109 -15
- package/dist-server/service/project/project-mutation.js.map +1 -1
- package/dist-server/service/project/project-query.d.ts +1 -0
- package/dist-server/service/project/project-query.js +14 -3
- package/dist-server/service/project/project-query.js.map +1 -1
- package/dist-server/service/project/project-type.d.ts +1 -0
- package/dist-server/service/project/project-type.js +13 -9
- package/dist-server/service/project/project-type.js.map +1 -1
- package/dist-server/service/project/project.d.ts +6 -0
- package/dist-server/service/project/project.js +15 -4
- package/dist-server/service/project/project.js.map +1 -1
- package/dist-server/service/resource/resource-mutation.js +2 -2
- package/dist-server/service/resource/resource-mutation.js.map +1 -1
- package/dist-server/service/resource/resource-query.js +2 -2
- package/dist-server/service/resource/resource-query.js.map +1 -1
- package/dist-server/service/resource/resource-type.js +6 -6
- package/dist-server/service/resource/resource-type.js.map +1 -1
- package/dist-server/service/resource/resource.js +3 -3
- package/dist-server/service/resource/resource.js.map +1 -1
- package/dist-server/service/task/task-mutation.js +2 -2
- package/dist-server/service/task/task-mutation.js.map +1 -1
- package/dist-server/service/task/task-query.js +4 -4
- package/dist-server/service/task/task-query.js.map +1 -1
- package/dist-server/service/task/task-type.js +10 -10
- package/dist-server/service/task/task-type.js.map +1 -1
- package/dist-server/service/task/task.js +7 -8
- package/dist-server/service/task/task.js.map +1 -1
- package/dist-server/service/task-resource/task-resource-mutation.js +2 -2
- package/dist-server/service/task-resource/task-resource-mutation.js.map +1 -1
- package/dist-server/service/task-resource/task-resource-query.js +2 -2
- package/dist-server/service/task-resource/task-resource-query.js.map +1 -1
- package/dist-server/service/task-resource/task-resource-type.js +6 -6
- package/dist-server/service/task-resource/task-resource-type.js.map +1 -1
- package/dist-server/service/task-resource/task-resource.js +2 -2
- package/dist-server/service/task-resource/task-resource.js.map +1 -1
- package/dist-server/service/worker-type/worker-type-mutation.js +2 -2
- package/dist-server/service/worker-type/worker-type-mutation.js.map +1 -1
- package/dist-server/service/worker-type/worker-type-query.js +2 -2
- package/dist-server/service/worker-type/worker-type-query.js.map +1 -1
- package/dist-server/service/worker-type/worker-type-type.js +4 -4
- package/dist-server/service/worker-type/worker-type-type.js.map +1 -1
- package/dist-server/service/worker-type/worker-type.js +2 -2
- package/dist-server/service/worker-type/worker-type.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -11
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateExcel =
|
|
3
|
+
exports.generateExcel = generateExcel;
|
|
4
4
|
const exceljs_1 = require("exceljs");
|
|
5
5
|
function createGanttChart(tasks, worksheet, level = 0) {
|
|
6
6
|
tasks.forEach(task => {
|
|
@@ -26,5 +26,4 @@ async function generateExcel(tasks) {
|
|
|
26
26
|
createGanttChart(tasks, worksheet);
|
|
27
27
|
return await workbook.xlsx.writeBuffer();
|
|
28
28
|
}
|
|
29
|
-
exports.generateExcel = generateExcel;
|
|
30
29
|
//# sourceMappingURL=export-tasks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-tasks.js","sourceRoot":"","sources":["../../server/controllers/export-tasks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"export-tasks.js","sourceRoot":"","sources":["../../server/controllers/export-tasks.ts"],"names":[],"mappings":";;AAqBA,sCAkBC;AAvCD,qCAA6C;AAS7C,SAAS,gBAAgB,CAAC,KAAa,EAAE,SAAoB,EAAE,QAAgB,CAAC;IAC9E,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QAEvE,GAAG,CAAC,YAAY,GAAG,KAAK,CAAA;QAExB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QACvD,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,KAAa;IAC/C,MAAM,QAAQ,GAAG,IAAI,kBAAQ,EAAE,CAAA;IAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;IAEtD,SAAS,CAAC,UAAU,CAAC,iBAAiB,GAAG;QACvC,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,KAAK;KACpB,CAAA;IAED,SAAS,CAAC,OAAO,GAAG;QAClB,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QAC/C,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;QACrD,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;KAClD,CAAA;IAED,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAElC,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;AAC1C,CAAC","sourcesContent":["import { Workbook, Worksheet } from 'exceljs'\n\nexport interface Task {\n name: string\n startDate: Date\n endDate: Date\n subtasks?: Task[]\n}\n\nfunction createGanttChart(tasks: Task[], worksheet: Worksheet, level: number = 0) {\n tasks.forEach(task => {\n const row = worksheet.addRow([task.name, task.startDate, task.endDate])\n\n row.outlineLevel = level\n\n if (task.subtasks && task.subtasks.length > 0) {\n createGanttChart(task.subtasks, worksheet, level + 1)\n }\n })\n}\n\nexport async function generateExcel(tasks: Task[]) {\n const workbook = new Workbook()\n const worksheet = workbook.addWorksheet('Gantt Chart')\n\n worksheet.properties.outlineProperties = {\n summaryBelow: false,\n summaryRight: false\n }\n\n worksheet.columns = [\n { header: 'Task Name', key: 'name', width: 30 },\n { header: 'Start Date', key: 'startDate', width: 20 },\n { header: 'End Date', key: 'endDate', width: 20 }\n ]\n\n createGanttChart(tasks, worksheet)\n\n return await workbook.xlsx.writeBuffer()\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.importTasks =
|
|
3
|
+
exports.importTasks = importTasks;
|
|
4
4
|
const shell_1 = require("@things-factory/shell");
|
|
5
5
|
const task_1 = require("../service/task/task");
|
|
6
6
|
const task_resource_1 = require("../service/task-resource/task-resource");
|
|
@@ -110,5 +110,4 @@ async function importTasks(project, tasks, context) {
|
|
|
110
110
|
await importTaskData(rootTask);
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
-
exports.importTasks = importTasks;
|
|
114
113
|
//# sourceMappingURL=import-task.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-task.js","sourceRoot":"","sources":["../../server/controllers/import-task.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"import-task.js","sourceRoot":"","sources":["../../server/controllers/import-task.ts"],"names":[],"mappings":"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","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { Project } from '../service/project/project'\nimport { Task, TaskType } from '../service/task/task'\nimport { TaskResource } from '../service/task-resource/task-resource'\nimport { Resource } from '../service/resource/resource'\nimport { RawTask } from './types'\n\nfunction excelSerialToJSDate(serial) {\n const excelEpoch = new Date(1899, 11, 30) // Excel epoch (30th December 1899)\n const days = Math.floor(serial) // Get the number of days\n const milliseconds = (serial - days) * 86400 * 1000 // Convert the fractional day part to milliseconds\n\n const jsDate = new Date(excelEpoch.getTime() + days * 86400 * 1000 + milliseconds)\n return jsDate\n}\n\nexport async function importTasks(project: Project, tasks: RawTask[], context: ResolverContext) {\n const { domain, user, tx } = context.state\n\n const taskRepository = getRepository(Task, tx)\n const resourceRepository = getRepository(Resource, tx)\n const taskResourceRepository = getRepository(TaskResource, tx)\n\n // 1. 기존 태스크와 리소스를 Soft Delete\n await taskRepository.softDelete({ project: { id: project.id } })\n\n // 2. 태스크 임포트\n const importTaskData = async (rawTask: RawTask, parent?: Task) => {\n if (rawTask.children && rawTask.children.length > 0) {\n rawTask.type = TaskType.GROUP\n } else {\n rawTask.type = TaskType.TASK\n }\n\n // 유효성 검사\n if (!rawTask.title || !rawTask.code || (rawTask.type == TaskType.TASK && (rawTask.duration ?? null) === null)) {\n throw new Error(`Task '${rawTask.code}' is missing required fields.`)\n }\n\n if (rawTask.type == TaskType.TASK) {\n // 시작일, 종료일 계산\n var startDate: Date = new Date(rawTask.startDate)\n\n var endDate\n if (!startDate && rawTask.dependsOn) {\n const dependsOnTask = await taskRepository.findOne({ where: { code: rawTask.dependsOn, project: { id: project.id } } })\n if (dependsOnTask && dependsOnTask.endDate) {\n startDate = new Date(dependsOnTask.endDate)\n startDate.setDate(startDate.getDate() + 1)\n } else {\n // TODO handler error\n // throw new Error(`Task '${rawTask.code}' depends on a task '${rawTask.dependsOn}' that doesn't have a valid end date.`)\n }\n }\n\n if (!startDate) {\n throw new Error(`Task '${rawTask.code}' must have either a start date or a valid dependency.`)\n }\n\n const duration = rawTask.duration\n endDate = new Date(startDate)\n endDate.setDate(startDate.getDate() + duration - 1)\n }\n\n // 태스크 생성 및 저장\n var task: Task = await taskRepository.save({\n code: rawTask.code,\n name: rawTask.title,\n type: rawTask.type,\n startDate,\n endDate,\n project,\n parent,\n duration: rawTask.duration,\n dependsOn: rawTask.dependsOn,\n progress: rawTask.progress,\n tags: rawTask.tags,\n style: rawTask.style,\n updater: user,\n creator: user\n })\n\n // 리소스 생성 및 저장\n if (rawTask.resources) {\n for (const resource of rawTask.resources) {\n const resourceType = await resourceRepository.findOne({ where: { domain: { id: domain.id }, name: resource.type } })\n if (resourceType) {\n await taskResourceRepository.save({\n task,\n resource: resourceType,\n quantity: resource.allocated\n })\n } else {\n throw new Error(`unknown resource type: ${resource.type}`)\n }\n }\n }\n\n // 자식 태스크 처리\n if (rawTask.children && rawTask.children.length > 0) {\n let lastEndDate = null\n let lastStartDate = null\n for (const childTask of rawTask.children) {\n const subtask = await importTaskData(childTask, task)\n\n lastEndDate = !lastEndDate ? subtask.endDate : lastEndDate > subtask.endDate ? lastEndDate : subtask.endDate\n lastStartDate = !lastStartDate ? subtask.startDate : lastStartDate < subtask.startDate ? lastStartDate : subtask.startDate\n }\n\n // 그룹 태스크의 기간(duration)을 계산합니다.\n const calculatedDuration =\n lastEndDate && lastStartDate\n ? Math.ceil((lastEndDate.getTime() - lastStartDate.getTime()) / (1000 * 60 * 60 * 24)) + 1\n : 0\n\n task = await taskRepository.findOne({ where: { id: task.id } })\n\n return await taskRepository.save({\n ...task,\n startDate: lastStartDate,\n endDate: lastEndDate,\n duration: calculatedDuration\n })\n }\n\n return task\n }\n\n // 루트 태스크들 임포트\n for (const rootTask of tasks) {\n await importTaskData(rootTask)\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseExcelAndImportTasks =
|
|
3
|
+
exports.parseExcelAndImportTasks = parseExcelAndImportTasks;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const exceljs_1 = tslib_1.__importDefault(require("exceljs"));
|
|
6
6
|
const import_task_1 = require("./import-task");
|
|
@@ -71,5 +71,4 @@ async function parseExcelAndImportTasks(buffer, project, context) {
|
|
|
71
71
|
// 5. 변환된 데이터를 importTasks 함수로 전달합니다.
|
|
72
72
|
await (0, import_task_1.importTasks)(project, tasks, context);
|
|
73
73
|
}
|
|
74
|
-
exports.parseExcelAndImportTasks = parseExcelAndImportTasks;
|
|
75
74
|
//# sourceMappingURL=parse-excel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-excel.js","sourceRoot":"","sources":["../../server/controllers/parse-excel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-excel.js","sourceRoot":"","sources":["../../server/controllers/parse-excel.ts"],"names":[],"mappings":"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","sourcesContent":["import ExcelJS from 'exceljs'\nimport { RawTask } from './types'\nimport { Project } from '../service/project/project'\nimport { importTasks } from './import-task'\n\nexport async function parseExcelAndImportTasks(buffer: Buffer, project: Project, context: ResolverContext) {\n // 1. 엑셀 파일을 읽어들입니다.\n const workbook = new ExcelJS.Workbook()\n await workbook.xlsx.load(buffer)\n\n // 2. 첫 번째 워크시트를 가져옵니다.\n const worksheet = workbook.getWorksheet(1) // Index or sheet name can be used\n\n // 3. 첫 번째 row를 header로 사용합니다.\n const headers: string[] = []\n let taskCodeColumnIndex = -1\n\n const headerRow = worksheet.getRow(1)\n headerRow.eachCell((cell, colNumber) => {\n const headerText = cell.text.toString()\n headers[colNumber - 1] = headerText // Store headers in an array\n\n if (headerText === '작업코드') {\n taskCodeColumnIndex = colNumber // Store the column index for \"작업코드\"\n }\n })\n\n if (taskCodeColumnIndex === -1) {\n throw new Error('작업코드 column not found')\n }\n\n // 4. 엑셀 데이터를 RawTask 형식으로 변환합니다.\n const tasks: RawTask[] = []\n\n // Start processing from the second row onward to skip the header\n for (let rowIndex = 2; rowIndex <= worksheet.rowCount; rowIndex++) {\n const row = worksheet.getRow(rowIndex)\n const taskData: any = {}\n\n row.eachCell((cell, colNumber) => {\n const header = headers[colNumber - 1]\n\n // Check if the cell has a formula(or sharedFormula) and use the formula result\n let cellValue: any = cell.value\n if (cellValue && typeof cellValue === 'object' && ('formula' in cellValue || 'sharedFormula' in cellValue)) {\n // Cell contains a formula, use the calculated result if available\n cellValue = cellValue.result ?? cellValue.value // Use the result, or fallback to value if result is not calculated\n }\n\n taskData[header] = cellValue\n })\n\n const taskCodeCell = row.getCell(taskCodeColumnIndex)\n let bgColor = '#FFFFFF'\n const fill = taskCodeCell.style.fill\n\n if (fill && fill.type === 'pattern' && fill.pattern === 'solid') {\n const fgColor = fill.fgColor\n if (fgColor && fgColor.argb) {\n // ARGB is a color in the format AARRGGBB, remove the alpha channel (first two characters)\n bgColor = `#${fgColor.argb.slice(2)}`\n }\n }\n\n const task: RawTask = {\n code: taskData['작업코드'],\n title: taskData['작업명'],\n type: taskData['세부공종'],\n duration: taskData['기간'],\n startDate: taskData['시작일'],\n dependsOn: taskData['선행작업코드'],\n progress: taskData['진척율'],\n tags: taskData['Tags'] ? taskData['Tags'].split(',') : [],\n resources: taskData['Resources'] ? JSON.parse(taskData['Resources']) : [],\n style: bgColor,\n children: []\n }\n\n if (task.code && task.type) {\n tasks.push(task)\n }\n }\n\n // 5. 변환된 데이터를 importTasks 함수로 전달합니다.\n await importTasks(project, tasks, context)\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initMiddlewares =
|
|
3
|
+
exports.initMiddlewares = initMiddlewares;
|
|
4
4
|
function initMiddlewares(app) {
|
|
5
5
|
/* can add middlewares into app */
|
|
6
6
|
}
|
|
7
|
-
exports.initMiddlewares = initMiddlewares;
|
|
8
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/middlewares/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/middlewares/index.ts"],"names":[],"mappings":";;AAAA,0CAEC;AAFD,SAAgB,eAAe,CAAC,GAAG;IACjC,kCAAkC;AACpC,CAAC","sourcesContent":["export function initMiddlewares(app) {\n /* can add middlewares into app */\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1723861466413-seed-roles.js","sourceRoot":"","sources":["../../server/migrations/1723861466413-seed-roles.ts"],"names":[],"mappings":";;;AAEA,6CAA4C;AAC5C,iDAA6D;AAC7D,yDAAiE;AAEjE,MAAM,UAAU,GAAG;IACjB;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,KAAK;QAClB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,OAAO;aAClB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,YAAY;aACvB;SACF;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,KAAK;QAClB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,OAAO;aAClB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,YAAY;aACvB;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,OAAO;QACpB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,OAAO;aAClB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,YAAY;aACvB;SACF;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,KAAK;QAClB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,OAAO;aAClB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,YAAY;aACvB;SACF;KACF;CACF,CAAA;AAED,MAAa,kBAAkB;IACtB,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,gBAAgB,GAAG,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAA;QAC9C,MAAM,cAAc,GAAG,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAA;QAC1C,MAAM,cAAc,GAAG,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAA;QAC1C,MAAM,mBAAmB,GAAG,IAAA,qBAAa,EAAC,qBAAS,CAAC,CAAA;QAEpD,MAAM,MAAM,GAAW,MAAM,gBAAgB,CAAC,OAAO,CAAC;YACpD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B,CAAC,CAAA;QAEF,MAAM,KAAK,GAAS,MAAM,cAAc,CAAC,OAAO,CAAC;YAC/C,KAAK,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;SACvC,CAAC,CAAA;QAEF,IAAI;
|
|
1
|
+
{"version":3,"file":"1723861466413-seed-roles.js","sourceRoot":"","sources":["../../server/migrations/1723861466413-seed-roles.ts"],"names":[],"mappings":"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","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\n\nimport { logger } from '@things-factory/env'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { Privilege, Role, User } from '@things-factory/auth-base'\n\nconst SEED_ROLES = [\n {\n name: '감리사',\n description: '감리사',\n privileges: [\n {\n name: 'query',\n category: 'board'\n },\n {\n name: 'query',\n category: 'attachment'\n }\n ]\n },\n {\n name: '설계사',\n description: '설계사',\n privileges: [\n {\n name: 'query',\n category: 'board'\n },\n {\n name: 'query',\n category: 'attachment'\n }\n ]\n },\n {\n name: '현장관리자',\n description: '현장관리자',\n privileges: [\n {\n name: 'query',\n category: 'board'\n },\n {\n name: 'query',\n category: 'attachment'\n }\n ]\n },\n {\n name: '시공자',\n description: '시공자',\n privileges: [\n {\n name: 'query',\n category: 'board'\n },\n {\n name: 'query',\n category: 'attachment'\n }\n ]\n }\n]\n\nexport class Roles1723861466413 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<void> {\n const domainRepository = getRepository(Domain)\n const roleRepository = getRepository(Role)\n const userRepository = getRepository(User)\n const privilegeRepository = getRepository(Privilege)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n\n const admin: User = await userRepository.findOne({\n where: { email: 'admin@hatiolab.com' }\n })\n\n try {\n for (let i = 0; i < SEED_ROLES.length; i++) {\n const { name, description, privileges } = SEED_ROLES[i]\n\n const role = await roleRepository.save({\n domain,\n name,\n description,\n creator: admin,\n updater: admin\n })\n\n const ps = []\n\n for (const privilege of privileges) {\n const { name, category } = privilege\n ps.push(\n await privilegeRepository.findOne({\n where: {\n name,\n category\n }\n })\n )\n }\n\n role.privileges = ps\n\n await roleRepository.save(role)\n }\n } catch (e) {\n logger.error(e)\n }\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n const domainRepository = getRepository(Domain)\n const roleRepository = getRepository(Role)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n\n SEED_ROLES.reverse().forEach(async ({ name }) => {\n await roleRepository.delete({ name, domain: { id: domain.id } })\n })\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1723861466414-seed-codes.js","sourceRoot":"","sources":["../../server/migrations/1723861466414-seed-codes.ts"],"names":[],"mappings":";;;AAEA,6CAA4C;AAC5C,iDAA6D;AAC7D,yDAAgD;AAChD,yDAAwE;AAExE,MAAM,iBAAiB,GAAG;IACxB;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,SAAS;gBACtB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,UAAU;gBACvB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;SACF;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;SACF;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,YAAY;gBACzB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,YAAY;gBACzB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;aACR;SACF;KACF;CACF,CAAA;AAED,MAAa,sBAAsB;IAC1B,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,oBAAoB,GAAG,IAAA,qBAAa,EAAC,sBAAU,CAAC,CAAA;QACtD,MAAM,0BAA0B,GAAG,IAAA,qBAAa,EAAC,4BAAgB,CAAC,CAAA;QAClE,MAAM,gBAAgB,GAAG,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAA;QAC9C,MAAM,cAAc,GAAG,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAA;QAE1C,MAAM,MAAM,GAAW,MAAM,gBAAgB,CAAC,OAAO,CAAC;YACpD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAE1E,IAAI;
|
|
1
|
+
{"version":3,"file":"1723861466414-seed-codes.js","sourceRoot":"","sources":["../../server/migrations/1723861466414-seed-codes.ts"],"names":[],"mappings":"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","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\n\nimport { logger } from '@things-factory/env'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { CommonCode, CommonCodeDetail } from '@things-factory/code-base'\n\nconst SEED_COMMON_CODES = [\n {\n name: 'EMPLOYEE_TYPE',\n description: '직원 유형',\n details: [\n {\n name: 'FULLTIME',\n description: '풀타임 정규직',\n labels: null,\n rank: 1\n },\n {\n name: 'PARTTIME',\n description: '파트타임 정규직',\n labels: null,\n rank: 2\n },\n {\n name: 'TEMPORARY',\n description: '임시직',\n labels: null,\n rank: 3\n }\n ]\n },\n {\n name: 'JOB_POSITION',\n description: '직급',\n details: [\n {\n name: '임원',\n description: '임원',\n labels: null,\n rank: 1\n },\n {\n name: '직원',\n description: '직원',\n labels: null,\n rank: 2\n }\n ]\n },\n {\n name: 'JOB_RESPONSIBILITY',\n description: '직책',\n details: [\n {\n name: 'ADMIN',\n description: '관리자',\n labels: null,\n rank: 1\n },\n {\n name: 'OVERALL_SUPERVISORY',\n description: '총괄 감리 책임자',\n labels: null,\n rank: 2\n },\n {\n name: 'TASK_SUPERVISORY',\n description: '공종별 감리 책임자',\n labels: null,\n rank: 3\n },\n {\n name: 'OVERALL_CONSTRUCTOR',\n description: '총괄 시공 책임자',\n labels: null,\n rank: 4\n },\n {\n name: 'TASK_CONSTRUCTOR',\n description: '공종별 시공 관리자',\n labels: null,\n rank: 5\n },\n {\n name: 'DESIGNER',\n description: '설계사',\n labels: null,\n rank: 6\n },\n {\n name: 'CONSTRUCTOR',\n description: '시공자',\n labels: null,\n rank: 7\n }\n ]\n }\n]\n\nexport class SeedCodes1723861466414 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<void> {\n const commonCodeRepository = getRepository(CommonCode)\n const commonCodeDetailRepository = getRepository(CommonCodeDetail)\n const domainRepository = getRepository(Domain)\n const userRepository = getRepository(User)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n const user = await userRepository.findOne({ where: { id: domain.owner } })\n\n try {\n for (let i = 0; i < SEED_COMMON_CODES.length; i++) {\n const { name, description, details } = SEED_COMMON_CODES[i]\n\n const commonCode = await commonCodeRepository.save({\n domain,\n name,\n description,\n creator: user,\n updater: user\n })\n\n for (const commonCodeDetail of details) {\n const { name, description, labels, rank } = commonCodeDetail\n\n await commonCodeDetailRepository.save({\n domain,\n commonCode,\n name,\n description,\n labels,\n rank\n })\n }\n }\n } catch (e) {\n logger.error(e)\n }\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n const domainRepository = getRepository(Domain)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n\n const repository = getRepository(CommonCode)\n\n SEED_COMMON_CODES.reverse().forEach(async commonCode => {\n let record = await repository.findOne({ where: { name: commonCode.name, domain: { id: domain.id } } })\n record && (await repository.remove(record))\n })\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1723861476419-seed-resources.js","sourceRoot":"","sources":["../../server/migrations/1723861476419-seed-resources.ts"],"names":[],"mappings":";;;AAEA,6CAA4C;AAC5C,iDAA6D;AAC7D,yDAAgD;AAChD,2DAAqE;AAErE,MAAM,cAAc,GAAG;IACrB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAY,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;IAC7D,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAY,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;IAC1D,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAY,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;IACzD,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAY,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;IAC1D,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAY,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;IAC1D,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAY,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;IAC1D,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAY,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;IAC1D,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAY,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;CAC3D,CAAA;AAED,MAAa,0BAA0B;IAC9B,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,kBAAkB,GAAG,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAA;QAClD,MAAM,gBAAgB,GAAG,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAA;QAC9C,MAAM,cAAc,GAAG,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAA;QAE1C,MAAM,MAAM,GAAW,MAAM,gBAAgB,CAAC,OAAO,CAAC;YACpD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAE1E,IAAI;
|
|
1
|
+
{"version":3,"file":"1723861476419-seed-resources.js","sourceRoot":"","sources":["../../server/migrations/1723861476419-seed-resources.ts"],"names":[],"mappings":"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","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\n\nimport { logger } from '@things-factory/env'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ResourceType, Resource } from '../service/resource/resource'\n\nconst SEED_RESOURCES = [\n { name: '철근/형틀공', type: ResourceType.HUMAN, unit: 'man/day' },\n { name: '방수공', type: ResourceType.HUMAN, unit: 'man/day' },\n { name: '목공', type: ResourceType.HUMAN, unit: 'man/day' },\n { name: '금속공', type: ResourceType.HUMAN, unit: 'man/day' },\n { name: '타일공', type: ResourceType.HUMAN, unit: 'man/day' },\n { name: '창호공', type: ResourceType.HUMAN, unit: 'man/day' },\n { name: '도배공', type: ResourceType.HUMAN, unit: 'man/day' },\n { name: '조적공', type: ResourceType.HUMAN, unit: 'man/day' }\n]\n\nexport class SeedResources1723861476419 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<void> {\n const resourceRepository = getRepository(Resource)\n const domainRepository = getRepository(Domain)\n const userRepository = getRepository(User)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n const user = await userRepository.findOne({ where: { id: domain.owner } })\n\n try {\n for (let i = 0; i < SEED_RESOURCES.length; i++) {\n const { name, type, unit } = SEED_RESOURCES[i]\n\n const resource = await resourceRepository.save({\n domain,\n name,\n type,\n unit,\n creator: user,\n updater: user\n })\n }\n } catch (e) {\n logger.error(e)\n }\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n const domainRepository = getRepository(Domain)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n\n const repository = getRepository(Resource)\n\n SEED_RESOURCES.reverse().forEach(async resource => {\n let record = await repository.findOne({ where: { name: resource.name, domain: { id: domain.id } } })\n record && (await repository.remove(record))\n })\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1723861478420-seed-\bsample-project.js","sourceRoot":"","sources":["../../server/migrations/1723861478420-seed-\bsample-project.ts"],"names":[],"mappings":";;;AAEA,6CAA4C;AAC5C,iDAA6D;AAC7D,yDAAgD;AAChD,6DAAwD;AACxD,wDAAkE;AAElE,MAAM,4BAA4B,GAAG;IACnC,OAAO,EAAE,sBAAsB;IAC/B,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,eAAe;IACzB,aAAa,EAAE,MAAM;IACrB,mBAAmB,EAAE,MAAM;IAC3B,kBAAkB,EAAE,MAAM;IAC1B,aAAa,EAAE,OAAO;IACtB,gBAAgB,EAAE,KAAK;IACvB,GAAG,EAAE,EAAE;IACP,cAAc,EAAE,GAAG;IACnB,aAAa,EAAE,CAAC;IAChB,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,KAAK;CACZ,CAAA;AAED,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,sBAAsB;IAC5B,KAAK,EAAE,sBAAY,CAAC,OAAO;IAC3B,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,YAAY;IACrB,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,EAAE;CACnB,CAAA;AAED,MAAa,8BAA8B;IAClC,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,kBAAkB,GAAG,IAAA,qBAAa,EAAC,kCAAe,CAAC,CAAA;QACzD,MAAM,iBAAiB,GAAG,IAAA,qBAAa,EAAC,iBAAO,CAAC,CAAA;QAChD,MAAM,gBAAgB,GAAG,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAA;QAC9C,MAAM,cAAc,GAAG,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAA;QAE1C,MAAM,MAAM,GAAW,MAAM,gBAAgB,CAAC,OAAO,CAAC;YACpD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAE1E,IAAI;
|
|
1
|
+
{"version":3,"file":"1723861478420-seed-\bsample-project.js","sourceRoot":"","sources":["../../server/migrations/1723861478420-seed-\bsample-project.ts"],"names":[],"mappings":"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","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\n\nimport { logger } from '@things-factory/env'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { BuildingComplex } from '@dssp/building-complex'\nimport { Project, ProjectState } from '../service/project/project'\n\nconst SEED_SAMPLE_BUILDING_COMPLEX = {\n address: '서울시 마포구 공덕동 아파트 17번지',\n longitude: 37.548239525193,\n latitude: 126.95315808838,\n clientCompany: 'A 고객',\n constructionCompany: 'B 건설',\n supervisoryComapny: 'C 감리',\n designCompany: 'D 디자인',\n constructionType: '아파트',\n etc: '',\n householdCount: 500,\n buildingCount: 5,\n notice: '',\n planXScale: 20,\n planYScale: 20,\n area: 22700\n}\n\nconst SEED_SAMPLE_PROJECT = {\n name: '서울시 마포구 공덕동 아파트 신축공사',\n state: ProjectState.ONGOING,\n startDate: '2024-01-01',\n endDate: '2025-12-31',\n totalProgress: 40,\n weeklyProgress: 37\n}\n\nexport class SeedSampleProject1723861478420 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<void> {\n const buildingRepository = getRepository(BuildingComplex)\n const projectRepository = getRepository(Project)\n const domainRepository = getRepository(Domain)\n const userRepository = getRepository(User)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n const user = await userRepository.findOne({ where: { id: domain.owner } })\n\n try {\n const buildingComplex = await buildingRepository.save({\n domain,\n ...SEED_SAMPLE_BUILDING_COMPLEX,\n creator: user,\n updater: user\n })\n\n const project = await projectRepository.save({\n domain,\n ...SEED_SAMPLE_PROJECT,\n buildingComplex,\n creator: user,\n updater: user\n })\n } catch (e) {\n logger.error(e)\n }\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n const domainRepository = getRepository(Domain)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n\n const repository = getRepository(Project)\n\n let project = await repository.findOne({ where: { name: SEED_SAMPLE_PROJECT.name, domain: { id: domain.id } } })\n project && (await repository.remove(project))\n\n const buildRepository = getRepository(BuildingComplex)\n\n let buildingComplex = await buildRepository.findOne({\n where: { address: SEED_SAMPLE_BUILDING_COMPLEX.address, domain: { id: domain.id } }\n })\n buildingComplex && (await buildRepository.remove(buildingComplex))\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1723861478421-seed-\bsample-tasks.js","sourceRoot":"","sources":["../../server/migrations/1723861478421-seed-\bsample-tasks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"1723861478421-seed-\bsample-tasks.js","sourceRoot":"","sources":["../../server/migrations/1723861478421-seed-\bsample-tasks.ts"],"names":[],"mappings":"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","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\n\nimport { logger } from '@things-factory/env'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { Project } from '../service/project/project'\n\nimport { importTasks } from '../controllers/import-task'\n\nconst SEED_SAMPLE_PROJECT = {\n name: '서울시 마포구 공덕동 아파트 신축공사'\n}\n\nconst SEED_SAMPLE_TASKS = [\n {\n code: '골조공사',\n title: '골조공사',\n progress: 60,\n children: [\n {\n code: '골조공사:기초공사',\n title: '기초공사',\n startDate: '2024-01-01',\n duration: 3,\n resources: [{ type: '철근/형틀공', allocated: 6 }]\n },\n {\n code: '골조공사:1층',\n title: '1층',\n duration: 10,\n dependsOn: '골조공사:기초공사',\n resources: [{ type: '철근/형틀공', allocated: 6 }]\n },\n {\n code: '골조공사:2층',\n title: '2층',\n duration: 10,\n dependsOn: '골조공사:1층',\n resources: [{ type: '철근/형틀공', allocated: 6 }]\n },\n {\n code: '골조공사:옥탑공사',\n title: '옥탑공사',\n duration: 6,\n dependsOn: '골조공사:2층',\n resources: [{ type: '철근/형틀공', allocated: 6 }]\n }\n ]\n },\n {\n code: '단열공사',\n title: '단열공사',\n children: [\n {\n code: '단열공사:단열재부착',\n title: '단열재부착',\n startDate: '2024-01-12',\n duration: 2\n }\n ]\n },\n {\n code: '조적공사',\n title: '조적공사',\n children: [\n {\n code: '조적공사:조적시공',\n title: '조적시공',\n startDate: '2024-01-12',\n duration: 3\n }\n ]\n },\n {\n code: '창호공사',\n title: '창호공사',\n progress: 60,\n children: [\n {\n code: '창호공사:실측및발주',\n title: '실측및발주',\n dependsOn: '골조공사:1층',\n duration: 1\n },\n {\n code: '창호공사:창호 프레임 설치',\n title: '창호 프레임 설치',\n duration: 3,\n dependsOn: '창호공사:실측및발주',\n resources: [{ type: '창호공', allocated: 4 }]\n },\n {\n code: '창호공사:창호 유리 설치',\n title: '창호 유리 설치',\n duration: 2,\n dependsOn: '창호공사:창호 프레임 설치',\n resources: [{ type: '창호공', allocated: 2 }]\n }\n ]\n },\n {\n code: '방수공사',\n title: '방수공사',\n progress: 60,\n children: [\n {\n code: '방수공사:골조 조인트부분 방수',\n title: '골조 조인트부분 방수',\n startDate: '2024-01-01',\n duration: 3,\n resources: [{ type: '방수공', allocated: 1 }]\n },\n {\n code: '방수공사:개구부 주변 방수',\n title: '개구부 주변 방수',\n duration: 2,\n dependsOn: '방수공사:골조 조인트부분 방수',\n resources: [{ type: '방수공', allocated: 1 }]\n },\n {\n code: '방수공사:테라스 방수',\n title: '테라스 방수',\n duration: 5,\n dependsOn: '방수공사:개구부 주변 방수',\n resources: [{ type: '방수공', allocated: 1 }]\n },\n {\n code: '방수공사:화장실/다용도실 방수',\n title: '화장실/다용도실 방수',\n duration: 5,\n dependsOn: '방수공사:테라스 방수',\n resources: [{ type: '방수공', allocated: 1 }]\n }\n ]\n },\n {\n code: '내부목공사',\n title: '내부목공사',\n progress: 60,\n children: [\n {\n code: '내부목공사:벽체다루끼/경량스터드',\n title: '벽체다루끼/경량스터드',\n startDate: '2024-01-20',\n duration: 5,\n resources: [{ type: '목공', allocated: 4 }]\n },\n {\n code: '내부목공사:벽체 석고보드 취부',\n title: '벽체 석고보드 취부',\n duration: 5,\n dependsOn: '내부목공사:벽체다루끼/경량스터드',\n resources: [{ type: '목공', allocated: 4 }]\n },\n {\n code: '내부목공사:ABC',\n title: 'ABC',\n duration: 4,\n dependsOn: '내부목공사:벽체 석고보드 취부',\n resources: [{ type: '목공', allocated: 4 }]\n }\n ]\n }\n]\n\nexport class SeedSampleTasks1723861478421 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<void> {\n const projectRepository = getRepository(Project)\n const domainRepository = getRepository(Domain)\n const userRepository = getRepository(User)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n const user = await userRepository.findOne({ where: { id: domain.owner } })\n const project = await projectRepository.findOne({ where: { domain: { id: domain.id }, name: SEED_SAMPLE_PROJECT.name } })\n\n try {\n await importTasks(project, SEED_SAMPLE_TASKS, { state: { domain, user } as any })\n } catch (e) {\n logger.error(e)\n }\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n const domainRepository = getRepository(Domain)\n\n const domain: Domain = await domainRepository.findOne({\n where: { name: 'SYSTEM' }\n })\n\n const repository = getRepository(Project)\n }\n}\n"]}
|
|
@@ -30,6 +30,7 @@ let ConstructionDetailTypeMutation = class ConstructionDetailTypeMutation {
|
|
|
30
30
|
return true;
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
|
+
exports.ConstructionDetailTypeMutation = ConstructionDetailTypeMutation;
|
|
33
34
|
tslib_1.__decorate([
|
|
34
35
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
35
36
|
(0, type_graphql_1.Mutation)(returns => [construction_detail_type_1.ConstructionDetailType], { description: "To modify multiple ConstructionDetailTypes' information" }),
|
|
@@ -49,8 +50,7 @@ tslib_1.__decorate([
|
|
|
49
50
|
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
|
50
51
|
tslib_1.__metadata("design:returntype", Promise)
|
|
51
52
|
], ConstructionDetailTypeMutation.prototype, "deleteConstructionDetailTypes", null);
|
|
52
|
-
ConstructionDetailTypeMutation = tslib_1.__decorate([
|
|
53
|
+
exports.ConstructionDetailTypeMutation = ConstructionDetailTypeMutation = tslib_1.__decorate([
|
|
53
54
|
(0, type_graphql_1.Resolver)(construction_detail_type_1.ConstructionDetailType)
|
|
54
55
|
], ConstructionDetailTypeMutation);
|
|
55
|
-
exports.ConstructionDetailTypeMutation = ConstructionDetailTypeMutation;
|
|
56
56
|
//# sourceMappingURL=construction-detail-type-mutation.js.map
|
package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construction-detail-type-mutation.js","sourceRoot":"","sources":["../../../server/service/construction-detail-type/construction-detail-type-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,qCAA4B;AAC5B,qEAAwE;AACxE,yEAAmE;AACnE,mFAA6E;AAC7E,8EAAyE;AAGlE,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAGnC,AAAN,KAAK,CAAC,oCAAoC,CACe,OAAsC,EAClE,kBAA0B,EAC9C,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,IAAI,OAAO,GAAG,EAAE,CAAA;QAEhB,MAAM,0BAA0B,GAAG,EAAE,CAAC,aAAa,CAAC,iDAAsB,CAAC,CAAA;QAC3E,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAA;QAEvG,MAAM,0BAA0B,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAA;QAEzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"construction-detail-type-mutation.js","sourceRoot":"","sources":["../../../server/service/construction-detail-type/construction-detail-type-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,qCAA4B;AAC5B,qEAAwE;AACxE,yEAAmE;AACnE,mFAA6E;AAC7E,8EAAyE;AAGlE,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAGnC,AAAN,KAAK,CAAC,oCAAoC,CACe,OAAsC,EAClE,kBAA0B,EAC9C,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,IAAI,OAAO,GAAG,EAAE,CAAA;QAEhB,MAAM,0BAA0B,GAAG,EAAE,CAAC,aAAa,CAAC,iDAAsB,CAAC,CAAA;QAC3E,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAA;QAEvG,MAAM,0BAA0B,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAA;QAEzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,IAAI,iCAC/C,OAAO,CAAC,CAAC,CAAC,KACb,QAAQ,EAAE,CAAC,EACX,gBAAgB,EAChB,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;QAC1C,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAIK,AAAN,KAAK,CAAC,6BAA6B,CACH,GAAa,EACpC,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,EAAE,CAAC,aAAa,CAAC,iDAAsB,CAAC,CAAC,MAAM,CAAC;YACpD,EAAE,EAAE,IAAA,YAAE,EAAC,GAAG,CAAC;SACZ,CAAC,CAAA;QAEF,MAAM,IAAA,wCAAsB,EAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAA;QAE5D,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAhDY,wEAA8B;AAGnC;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,iDAAsB,CAAC,EAAE,EAAE,WAAW,EAAE,yDAAyD,EAAE,CAAC;IAEvH,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,2DAA2B,CAAC,CAAC,CAAA;IACrD,mBAAA,IAAA,kBAAG,EAAC,oBAAoB,CAAC,CAAA;IACzB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;0FAwBP;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,4CAA4C,EAAE,CAAC;IAEzF,mBAAA,IAAA,kBAAG,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5B,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;mFAWP;yCA/CU,8BAA8B;IAD1C,IAAA,uBAAQ,EAAC,iDAAsB,CAAC;GACpB,8BAA8B,CAgD1C","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\nimport { deleteAttachmentsByRef } from '@things-factory/attachment-base'\nimport { ConstructionDetailType } from './construction-detail-type'\nimport { ConstructionDetailTypePatch } from './construction-detail-type-type'\nimport { ConstructionType } from '../construction-type/construction-type'\n\n@Resolver(ConstructionDetailType)\nexport class ConstructionDetailTypeMutation {\n @Directive('@transaction')\n @Mutation(returns => [ConstructionDetailType], { description: \"To modify multiple ConstructionDetailTypes' information\" })\n async updateMultipleConstructionDetailType(\n @Arg('patches', type => [ConstructionDetailTypePatch]) patches: ConstructionDetailTypePatch[],\n @Arg('constructionTypeId') constructionTypeId: string,\n @Ctx() context: ResolverContext\n ): Promise<ConstructionDetailType[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n\n const constructionDetailTypeRepo = tx.getRepository(ConstructionDetailType)\n const constructionType = await tx.getRepository(ConstructionType).findOneBy({ id: constructionTypeId })\n\n await constructionDetailTypeRepo.delete({ constructionType: { id: constructionTypeId } })\n\n for (let i = 0; i < patches.length; i++) {\n const result = await constructionDetailTypeRepo.save({\n ...patches[i],\n sequence: i,\n constructionType,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple ConstructionDetailTypes' })\n async deleteConstructionDetailTypes(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ConstructionDetailType).delete({\n id: In(ids)\n })\n\n await deleteAttachmentsByRef(null, { refBys: ids }, context)\n\n return true\n }\n}\n"]}
|
|
@@ -24,6 +24,7 @@ let ConstructionDetailTypeQuery = class ConstructionDetailTypeQuery {
|
|
|
24
24
|
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: constructionDetailType.creatorId });
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
|
+
exports.ConstructionDetailTypeQuery = ConstructionDetailTypeQuery;
|
|
27
28
|
tslib_1.__decorate([
|
|
28
29
|
(0, type_graphql_1.Query)(returns => construction_detail_type_type_1.ConstructionDetailTypeList, { description: 'To fetch multiple ConstructionDetailTypes' }),
|
|
29
30
|
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
@@ -46,8 +47,7 @@ tslib_1.__decorate([
|
|
|
46
47
|
tslib_1.__metadata("design:paramtypes", [construction_detail_type_1.ConstructionDetailType]),
|
|
47
48
|
tslib_1.__metadata("design:returntype", Promise)
|
|
48
49
|
], ConstructionDetailTypeQuery.prototype, "creator", null);
|
|
49
|
-
ConstructionDetailTypeQuery = tslib_1.__decorate([
|
|
50
|
+
exports.ConstructionDetailTypeQuery = ConstructionDetailTypeQuery = tslib_1.__decorate([
|
|
50
51
|
(0, type_graphql_1.Resolver)(construction_detail_type_1.ConstructionDetailType)
|
|
51
52
|
], ConstructionDetailTypeQuery);
|
|
52
|
-
exports.ConstructionDetailTypeQuery = ConstructionDetailTypeQuery;
|
|
53
53
|
//# sourceMappingURL=construction-detail-type-query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construction-detail-type-query.js","sourceRoot":"","sources":["../../../server/service/construction-detail-type/construction-detail-type-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA8E;AAC9E,iDAA+F;AAC/F,yDAAgD;AAChD,yEAAmE;AACnE,mFAA4E;AAGrE,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAEhC,AAAN,KAAK,CAAC,uBAAuB,CAAS,MAAiB,EAAS,OAAwB;QACtF,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,iDAAsB,CAAC;YACvD,WAAW,EAAE,CAAC,MAAM,CAAC;SACtB,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,OAAO,CAAS,sBAA8C;QAClE,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,CAAA;IACtF,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,sBAA8C;QAClE,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,CAAA;IACtF,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"construction-detail-type-query.js","sourceRoot":"","sources":["../../../server/service/construction-detail-type/construction-detail-type-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA8E;AAC9E,iDAA+F;AAC/F,yDAAgD;AAChD,yEAAmE;AACnE,mFAA4E;AAGrE,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAEhC,AAAN,KAAK,CAAC,uBAAuB,CAAS,MAAiB,EAAS,OAAwB;QACtF,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,iDAAsB,CAAC;YACvD,WAAW,EAAE,CAAC,MAAM,CAAC;SACtB,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,OAAO,CAAS,sBAA8C;QAClE,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,CAAA;IACtF,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,sBAA8C;QAClE,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,CAAA;IACtF,CAAC;CACF,CAAA;AAvBY,kEAA2B;AAEhC;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,0DAA0B,EAAE,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;IAC5E,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,iBAAS;;0EAUtD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAyB,iDAAsB;;0DAEnE;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAyB,iDAAsB;;0DAEnE;sCAtBU,2BAA2B;IADvC,IAAA,uBAAQ,EAAC,iDAAsB,CAAC;GACpB,2BAA2B,CAuBvC","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Ctx } from 'type-graphql'\nimport { getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ConstructionDetailType } from './construction-detail-type'\nimport { ConstructionDetailTypeList } from './construction-detail-type-type'\n\n@Resolver(ConstructionDetailType)\nexport class ConstructionDetailTypeQuery {\n @Query(returns => ConstructionDetailTypeList, { description: 'To fetch multiple ConstructionDetailTypes' })\n async constructionDetailTypes(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ConstructionDetailTypeList> {\n const queryBuilder = getQueryBuilderFromListParams({\n params,\n repository: await getRepository(ConstructionDetailType),\n searchables: ['name']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => User)\n async updater(@Root() constructionDetailType: ConstructionDetailType): Promise<User> {\n return await getRepository(User).findOneBy({ id: constructionDetailType.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() constructionDetailType: ConstructionDetailType): Promise<User> {\n return await getRepository(User).findOneBy({ id: constructionDetailType.creatorId })\n }\n}\n"]}
|
|
@@ -6,6 +6,7 @@ const type_graphql_1 = require("type-graphql");
|
|
|
6
6
|
const construction_detail_type_1 = require("./construction-detail-type");
|
|
7
7
|
let ConstructionDetailTypePatch = class ConstructionDetailTypePatch {
|
|
8
8
|
};
|
|
9
|
+
exports.ConstructionDetailTypePatch = ConstructionDetailTypePatch;
|
|
9
10
|
tslib_1.__decorate([
|
|
10
11
|
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
|
|
11
12
|
tslib_1.__metadata("design:type", String)
|
|
@@ -22,12 +23,12 @@ tslib_1.__decorate([
|
|
|
22
23
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
23
24
|
tslib_1.__metadata("design:type", String)
|
|
24
25
|
], ConstructionDetailTypePatch.prototype, "cuFlag", void 0);
|
|
25
|
-
ConstructionDetailTypePatch = tslib_1.__decorate([
|
|
26
|
+
exports.ConstructionDetailTypePatch = ConstructionDetailTypePatch = tslib_1.__decorate([
|
|
26
27
|
(0, type_graphql_1.InputType)()
|
|
27
28
|
], ConstructionDetailTypePatch);
|
|
28
|
-
exports.ConstructionDetailTypePatch = ConstructionDetailTypePatch;
|
|
29
29
|
let ConstructionDetailTypeList = class ConstructionDetailTypeList {
|
|
30
30
|
};
|
|
31
|
+
exports.ConstructionDetailTypeList = ConstructionDetailTypeList;
|
|
31
32
|
tslib_1.__decorate([
|
|
32
33
|
(0, type_graphql_1.Field)(type => [construction_detail_type_1.ConstructionDetailType]),
|
|
33
34
|
tslib_1.__metadata("design:type", Array)
|
|
@@ -36,8 +37,7 @@ tslib_1.__decorate([
|
|
|
36
37
|
(0, type_graphql_1.Field)(type => type_graphql_1.Int),
|
|
37
38
|
tslib_1.__metadata("design:type", Number)
|
|
38
39
|
], ConstructionDetailTypeList.prototype, "total", void 0);
|
|
39
|
-
ConstructionDetailTypeList = tslib_1.__decorate([
|
|
40
|
+
exports.ConstructionDetailTypeList = ConstructionDetailTypeList = tslib_1.__decorate([
|
|
40
41
|
(0, type_graphql_1.ObjectType)()
|
|
41
42
|
], ConstructionDetailTypeList);
|
|
42
|
-
exports.ConstructionDetailTypeList = ConstructionDetailTypeList;
|
|
43
43
|
//# sourceMappingURL=construction-detail-type-type.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construction-detail-type-type.js","sourceRoot":"","sources":["../../../server/service/construction-detail-type/construction-detail-type-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,yEAAmE;AAG5D,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;CAYvC,CAAA;
|
|
1
|
+
{"version":3,"file":"construction-detail-type-type.js","sourceRoot":"","sources":["../../../server/service/construction-detail-type/construction-detail-type-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,yEAAmE;AAG5D,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;CAYvC,CAAA;AAZY,kEAA2B;AAEtC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACb;AAGb;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACtB;AAGjB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACX;sCAXJ,2BAA2B;IADvC,IAAA,wBAAS,GAAE;GACC,2BAA2B,CAYvC;AAGM,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;CAMtC,CAAA;AANY,gEAA0B;AAErC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iDAAsB,CAAC,CAAC;;yDACT;AAG/B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;yDACN;qCALF,0BAA0B;IADtC,IAAA,yBAAU,GAAE;GACA,0BAA0B,CAMtC","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport { ConstructionDetailType } from './construction-detail-type'\n\n@InputType()\nexport class ConstructionDetailTypePatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field(type => Int, { nullable: true })\n sequence?: number\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ConstructionDetailTypeList {\n @Field(type => [ConstructionDetailType])\n items: ConstructionDetailType[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
@@ -8,6 +8,7 @@ const auth_base_1 = require("@things-factory/auth-base");
|
|
|
8
8
|
const construction_type_1 = require("../construction-type/construction-type");
|
|
9
9
|
let ConstructionDetailType = class ConstructionDetailType {
|
|
10
10
|
};
|
|
11
|
+
exports.ConstructionDetailType = ConstructionDetailType;
|
|
11
12
|
tslib_1.__decorate([
|
|
12
13
|
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
13
14
|
(0, type_graphql_1.Field)(type => type_graphql_1.ID),
|
|
@@ -60,10 +61,9 @@ tslib_1.__decorate([
|
|
|
60
61
|
(0, typeorm_1.RelationId)((constructionDetailType) => constructionDetailType.updater),
|
|
61
62
|
tslib_1.__metadata("design:type", String)
|
|
62
63
|
], ConstructionDetailType.prototype, "updaterId", void 0);
|
|
63
|
-
ConstructionDetailType = tslib_1.__decorate([
|
|
64
|
+
exports.ConstructionDetailType = ConstructionDetailType = tslib_1.__decorate([
|
|
64
65
|
(0, typeorm_1.Entity)(),
|
|
65
66
|
(0, typeorm_1.Index)('ix_construction_detail_type_0', (constructionDetailType) => [constructionDetailType.sequence]),
|
|
66
67
|
(0, type_graphql_1.ObjectType)({ description: '세부 공종 타입' })
|
|
67
68
|
], ConstructionDetailType);
|
|
68
|
-
exports.ConstructionDetailType = ConstructionDetailType;
|
|
69
69
|
//# sourceMappingURL=construction-detail-type.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construction-detail-type.js","sourceRoot":"","sources":["../../../server/service/construction-detail-type/construction-detail-type.ts"],"names":[],"mappings":";;;;AAAA,qCAAkI;AAClI,+CAAyD;AAEzD,yDAAgD;AAChD,8EAAyE;AAKlE,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CA0ClC,CAAA;
|
|
1
|
+
{"version":3,"file":"construction-detail-type.js","sourceRoot":"","sources":["../../../server/service/construction-detail-type/construction-detail-type.ts"],"names":[],"mappings":";;;;AAAA,qCAAkI;AAClI,+CAAyD;AAEzD,yDAAgD;AAChD,8EAAyE;AAKlE,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CA0ClC,CAAA;AA1CY,wDAAsB;AAGxB;IAFR,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;kDACC;AAInB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAChD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACb;AAIb;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC1C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACtB;AAKjB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,oCAAgB,CAAC;IACnC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACP,oCAAgB;gEAAA;AAGnC;IADC,IAAA,oBAAU,EAAC,CAAC,sBAA8C,EAAE,EAAE,CAAC,sBAAsB,CAAC,gBAAgB,CAAC;;kEAC7E;AAI3B;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;yDAAA;AAIhB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;yDAAA;AAIhB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAC9B,gBAAI;uDAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,sBAA8C,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC;;yDAC7E;AAIlB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAC9B,gBAAI;uDAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,sBAA8C,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC;;yDAC7E;iCAzCP,sBAAsB;IAHlC,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,+BAA+B,EAAE,CAAC,sBAA8C,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC7H,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;GAC3B,sBAAsB,CA0ClC","sourcesContent":["import { CreateDateColumn, UpdateDateColumn, Entity, Index, Column, RelationId, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'\nimport { ObjectType, Field, ID, Int } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { ConstructionType } from '../construction-type/construction-type'\n\n@Entity()\n@Index('ix_construction_detail_type_0', (constructionDetailType: ConstructionDetailType) => [constructionDetailType.sequence])\n@ObjectType({ description: '세부 공종 타입' })\nexport class ConstructionDetailType {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @Column({ nullable: false, comment: '세부 공종 이름' })\n @Field({ nullable: true })\n name?: string\n\n @Column({ nullable: true, comment: '시퀀스' })\n @Field(type => Int, { nullable: true })\n sequence?: number\n\n // 공종 타입 (상위 테이블 참조)\n @ManyToOne(type => ConstructionType)\n @Field({ nullable: true })\n constructionType?: ConstructionType\n\n @RelationId((constructionDetailType: ConstructionDetailType) => constructionDetailType.constructionType)\n constructionTypeId?: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((constructionDetailType: ConstructionDetailType) => constructionDetailType.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((constructionDetailType: ConstructionDetailType) => constructionDetailType.updater)\n updaterId?: string\n}\n"]}
|
|
@@ -39,6 +39,7 @@ let ConstructionTypeMutation = class ConstructionTypeMutation {
|
|
|
39
39
|
return true;
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
|
+
exports.ConstructionTypeMutation = ConstructionTypeMutation;
|
|
42
43
|
tslib_1.__decorate([
|
|
43
44
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
44
45
|
(0, type_graphql_1.Mutation)(returns => [construction_type_1.ConstructionType], { description: "To modify multiple ConstructionTypes' information" }),
|
|
@@ -57,8 +58,7 @@ tslib_1.__decorate([
|
|
|
57
58
|
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
|
58
59
|
tslib_1.__metadata("design:returntype", Promise)
|
|
59
60
|
], ConstructionTypeMutation.prototype, "deleteConstructionTypes", null);
|
|
60
|
-
ConstructionTypeMutation = tslib_1.__decorate([
|
|
61
|
+
exports.ConstructionTypeMutation = ConstructionTypeMutation = tslib_1.__decorate([
|
|
61
62
|
(0, type_graphql_1.Resolver)(construction_type_1.ConstructionType)
|
|
62
63
|
], ConstructionTypeMutation);
|
|
63
|
-
exports.ConstructionTypeMutation = ConstructionTypeMutation;
|
|
64
64
|
//# sourceMappingURL=construction-type-mutation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construction-type-mutation.js","sourceRoot":"","sources":["../../../server/service/construction-type/construction-type-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,qCAA4B;AAC5B,2DAAsD;AACtD,qEAAgE;AAGzD,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAG7B,AAAN,KAAK,CAAC,8BAA8B,CACe,OAAgC,EAC1E,OAAwB;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,oBAAoB,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAA;QAE/D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"construction-type-mutation.js","sourceRoot":"","sources":["../../../server/service/construction-type/construction-type-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\nimport { ConstructionType } from './construction-type'\nimport { ConstructionTypePatch } from './construction-type-type'\n\n@Resolver(ConstructionType)\nexport class ConstructionTypeMutation {\n @Directive('@transaction')\n @Mutation(returns => [ConstructionType], { description: \"To modify multiple ConstructionTypes' information\" })\n async updateMultipleConstructionType(\n @Arg('patches', type => [ConstructionTypePatch]) patches: ConstructionTypePatch[],\n @Ctx() context: ResolverContext\n ): Promise<ConstructionType[]> {\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 constructionTypeRepo = tx.getRepository(ConstructionType)\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 constructionTypeRepo.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 constructionType = await constructionTypeRepo.findOneBy({ id: updateRecord.id })\n\n const result = await constructionTypeRepo.save({\n ...constructionType,\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 ConstructionTypes' })\n async deleteConstructionTypes(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ConstructionType).softDelete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n}\n"]}
|
|
@@ -41,6 +41,7 @@ let ConstructionTypeQuery = class ConstructionTypeQuery {
|
|
|
41
41
|
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: constructionType.creatorId });
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
|
+
exports.ConstructionTypeQuery = ConstructionTypeQuery;
|
|
44
45
|
tslib_1.__decorate([
|
|
45
46
|
(0, type_graphql_1.Query)(returns => construction_type_1.ConstructionType, { nullable: true, description: 'To fetch a ConstructionType' }),
|
|
46
47
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
@@ -85,8 +86,7 @@ tslib_1.__decorate([
|
|
|
85
86
|
tslib_1.__metadata("design:paramtypes", [construction_type_1.ConstructionType]),
|
|
86
87
|
tslib_1.__metadata("design:returntype", Promise)
|
|
87
88
|
], ConstructionTypeQuery.prototype, "creator", null);
|
|
88
|
-
ConstructionTypeQuery = tslib_1.__decorate([
|
|
89
|
+
exports.ConstructionTypeQuery = ConstructionTypeQuery = tslib_1.__decorate([
|
|
89
90
|
(0, type_graphql_1.Resolver)(construction_type_1.ConstructionType)
|
|
90
91
|
], ConstructionTypeQuery);
|
|
91
|
-
exports.ConstructionTypeQuery = ConstructionTypeQuery;
|
|
92
92
|
//# sourceMappingURL=construction-type-query.js.map
|