@dssp/project 1.0.0 → 1.0.2
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/bootstrap.d.ts +0 -0
- package/dist-client/bootstrap.js +2 -0
- package/dist-client/bootstrap.js.map +1 -0
- package/dist-client/index.d.ts +1 -0
- package/dist-client/index.js +2 -0
- package/dist-client/index.js.map +1 -0
- package/dist-client/pages/lib/chatbot-widget.d.ts +53 -0
- package/dist-client/pages/lib/chatbot-widget.js +631 -0
- package/dist-client/pages/lib/chatbot-widget.js.map +1 -0
- package/dist-client/pages/lib/select2-component.d.ts +23 -0
- package/dist-client/pages/lib/select2-component.js +181 -0
- package/dist-client/pages/lib/select2-component.js.map +1 -0
- package/dist-client/pages/lib/waether.d.ts +7 -0
- package/dist-client/pages/lib/waether.js +156 -0
- package/dist-client/pages/lib/waether.js.map +1 -0
- package/dist-client/pages/project/component/pagenation.d.ts +18 -0
- package/dist-client/pages/project/component/pagenation.js +142 -0
- package/dist-client/pages/project/component/pagenation.js.map +1 -0
- package/dist-client/pages/project/component/project-update-header.d.ts +1 -0
- package/dist-client/pages/project/component/project-update-header.js +121 -0
- package/dist-client/pages/project/component/project-update-header.js.map +1 -0
- package/dist-client/pages/project/popup/checklist/task-checklist-attachment-list-popup.d.ts +1 -0
- package/dist-client/pages/project/popup/checklist/task-checklist-attachment-list-popup.js +308 -0
- package/dist-client/pages/project/popup/checklist/task-checklist-attachment-list-popup.js.map +1 -0
- package/dist-client/pages/project/popup/checklist/task-checklist-comment-list-popup.d.ts +1 -0
- package/dist-client/pages/project/popup/checklist/task-checklist-comment-list-popup.js +356 -0
- package/dist-client/pages/project/popup/checklist/task-checklist-comment-list-popup.js.map +1 -0
- package/dist-client/pages/project/popup/checklist/task-checklist-create-popup.d.ts +1 -0
- package/dist-client/pages/project/popup/checklist/task-checklist-create-popup.js +682 -0
- package/dist-client/pages/project/popup/checklist/task-checklist-create-popup.js.map +1 -0
- package/dist-client/pages/project/popup/checklist/task-checklist-view.d.ts +33 -0
- package/dist-client/pages/project/popup/checklist/task-checklist-view.js +676 -0
- package/dist-client/pages/project/popup/checklist/task-checklist-view.js.map +1 -0
- package/dist-client/pages/project/popup/popup-plan-export.d.ts +10 -0
- package/dist-client/pages/project/popup/popup-plan-export.js +242 -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 +13 -0
- package/dist-client/pages/project/popup/popup-plan-upload.js +265 -0
- package/dist-client/pages/project/popup/popup-plan-upload.js.map +1 -0
- package/dist-client/pages/project/popup/popup-project-create.d.ts +12 -0
- package/dist-client/pages/project/popup/popup-project-create.js +152 -0
- package/dist-client/pages/project/popup/popup-project-create.js.map +1 -0
- package/dist-client/pages/project/popup/popup-task-upload.d.ts +9 -0
- package/dist-client/pages/project/popup/popup-task-upload.js +105 -0
- package/dist-client/pages/project/popup/popup-task-upload.js.map +1 -0
- package/dist-client/pages/project/project-completed-list.d.ts +23 -0
- package/dist-client/pages/project/project-completed-list.js +322 -0
- package/dist-client/pages/project/project-completed-list.js.map +1 -0
- package/dist-client/pages/project/project-detail.d.ts +47 -0
- package/dist-client/pages/project/project-detail.js +1065 -0
- package/dist-client/pages/project/project-detail.js.map +1 -0
- package/dist-client/pages/project/project-list.d.ts +201 -0
- package/dist-client/pages/project/project-list.js +410 -0
- package/dist-client/pages/project/project-list.js.map +1 -0
- package/dist-client/pages/project/project-plan-management.d.ts +33 -0
- package/dist-client/pages/project/project-plan-management.js +492 -0
- package/dist-client/pages/project/project-plan-management.js.map +1 -0
- package/dist-client/pages/project/project-setting-list.d.ts +31 -0
- package/dist-client/pages/project/project-setting-list.js +456 -0
- package/dist-client/pages/project/project-setting-list.js.map +1 -0
- package/dist-client/pages/project/project-task-list.d.ts +18 -0
- package/dist-client/pages/project/project-task-list.js +306 -0
- package/dist-client/pages/project/project-task-list.js.map +1 -0
- package/dist-client/pages/project/project-task.d.ts +51 -0
- package/dist-client/pages/project/project-task.js +692 -0
- package/dist-client/pages/project/project-task.js.map +1 -0
- package/dist-client/pages/project/project-update.d.ts +81 -0
- package/dist-client/pages/project/project-update.js +1477 -0
- package/dist-client/pages/project/project-update.js.map +1 -0
- package/dist-client/pages/resource/construction-detail-type-popup.d.ts +2 -0
- package/dist-client/pages/resource/construction-detail-type-popup.js +197 -0
- package/dist-client/pages/resource/construction-detail-type-popup.js.map +1 -0
- package/dist-client/pages/resource/construction-type-management.d.ts +34 -0
- package/dist-client/pages/resource/construction-type-management.js +214 -0
- package/dist-client/pages/resource/construction-type-management.js.map +1 -0
- package/dist-client/pages/resource/inspection-drawing-type-management.d.ts +48 -0
- package/dist-client/pages/resource/inspection-drawing-type-management.js +234 -0
- package/dist-client/pages/resource/inspection-drawing-type-management.js.map +1 -0
- package/dist-client/pages/resource/inspection-part-popup.d.ts +2 -0
- package/dist-client/pages/resource/inspection-part-popup.js +197 -0
- package/dist-client/pages/resource/inspection-part-popup.js.map +1 -0
- package/dist-client/pages/resource/resource-importer.d.ts +10 -0
- package/dist-client/pages/resource/resource-importer.js +101 -0
- package/dist-client/pages/resource/resource-importer.js.map +1 -0
- package/dist-client/pages/resource/resource-list-page.d.ts +62 -0
- package/dist-client/pages/resource/resource-list-page.js +331 -0
- package/dist-client/pages/resource/resource-list-page.js.map +1 -0
- package/dist-client/pages/resource/worker-type-management.d.ts +34 -0
- package/dist-client/pages/resource/worker-type-management.js +180 -0
- package/dist-client/pages/resource/worker-type-management.js.map +1 -0
- package/dist-client/pages/task/task-importer.d.ts +10 -0
- package/dist-client/pages/task/task-importer.js +101 -0
- package/dist-client/pages/task/task-importer.js.map +1 -0
- package/dist-client/pages/task/task-list-page.d.ts +62 -0
- package/dist-client/pages/task/task-list-page.js +322 -0
- package/dist-client/pages/task/task-list-page.js.map +1 -0
- package/dist-client/pages/task-resource/task-resource-importer.d.ts +10 -0
- package/dist-client/pages/task-resource/task-resource-importer.js +101 -0
- package/dist-client/pages/task-resource/task-resource-importer.js.map +1 -0
- package/dist-client/pages/task-resource/task-resource-list-page.d.ts +62 -0
- package/dist-client/pages/task-resource/task-resource-list-page.js +331 -0
- package/dist-client/pages/task-resource/task-resource-list-page.js.map +1 -0
- package/dist-client/route.d.ts +1 -0
- package/dist-client/route.js +44 -0
- package/dist-client/route.js.map +1 -0
- package/dist-client/shared/domain-context.d.ts +18 -0
- package/dist-client/shared/domain-context.js +28 -0
- package/dist-client/shared/domain-context.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -0
- package/dist-client/viewparts/domain-switch.d.ts +19 -0
- package/dist-client/viewparts/domain-switch.js +274 -0
- package/dist-client/viewparts/domain-switch.js.map +1 -0
- package/dist-server/controllers/export-tasks.d.ts +7 -0
- package/dist-server/controllers/export-tasks.js +29 -0
- package/dist-server/controllers/export-tasks.js.map +1 -0
- package/dist-server/controllers/import-task.d.ts +3 -0
- package/dist-server/controllers/import-task.js +113 -0
- package/dist-server/controllers/import-task.js.map +1 -0
- package/dist-server/controllers/index.d.ts +0 -0
- package/dist-server/controllers/index.js +1 -0
- package/dist-server/controllers/index.js.map +1 -0
- package/dist-server/controllers/parse-excel.d.ts +2 -0
- package/dist-server/controllers/parse-excel.js +74 -0
- package/dist-server/controllers/parse-excel.js.map +1 -0
- package/dist-server/controllers/types.d.ts +18 -0
- package/dist-server/controllers/types.js +3 -0
- package/dist-server/controllers/types.js.map +1 -0
- package/dist-server/index.d.ts +3 -0
- package/dist-server/index.js +7 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/middlewares/index.d.ts +1 -0
- package/dist-server/middlewares/index.js +7 -0
- package/dist-server/middlewares/index.js.map +1 -0
- package/dist-server/migrations/1723861466413-seed-roles.d.ts +5 -0
- package/dist-server/migrations/1723861466413-seed-roles.js +117 -0
- package/dist-server/migrations/1723861466413-seed-roles.js.map +1 -0
- package/dist-server/migrations/1723861466414-seed-codes.d.ts +5 -0
- package/dist-server/migrations/1723861466414-seed-codes.js +150 -0
- package/dist-server/migrations/1723861466414-seed-codes.js.map +1 -0
- package/dist-server/migrations/1723861476419-seed-resources.d.ts +5 -0
- package/dist-server/migrations/1723861476419-seed-resources.js +57 -0
- package/dist-server/migrations/1723861476419-seed-resources.js.map +1 -0
- package/dist-server/migrations/1723861478420-seed-/bsample-project.d.ts +5 -0
- package/dist-server/migrations/1723861478420-seed-/bsample-project.js +68 -0
- package/dist-server/migrations/1723861478420-seed-/bsample-project.js.map +1 -0
- package/dist-server/migrations/1723861478421-seed-/bsample-tasks.d.ts +5 -0
- package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js +189 -0
- package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js.map +1 -0
- package/dist-server/migrations/index.d.ts +1 -0
- package/dist-server/migrations/index.js +12 -0
- package/dist-server/migrations/index.js.map +1 -0
- package/dist-server/routes.d.ts +1 -0
- package/dist-server/routes.js +105 -0
- package/dist-server/routes.js.map +1 -0
- package/dist-server/service/construction-detail-type/construction-detail-type-mutation.d.ts +6 -0
- package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js +56 -0
- package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js.map +1 -0
- package/dist-server/service/construction-detail-type/construction-detail-type-query.d.ts +9 -0
- package/dist-server/service/construction-detail-type/construction-detail-type-query.js +53 -0
- package/dist-server/service/construction-detail-type/construction-detail-type-query.js.map +1 -0
- package/dist-server/service/construction-detail-type/construction-detail-type-type.d.ts +11 -0
- package/dist-server/service/construction-detail-type/construction-detail-type-type.js +43 -0
- package/dist-server/service/construction-detail-type/construction-detail-type-type.js.map +1 -0
- package/dist-server/service/construction-detail-type/construction-detail-type.d.ts +15 -0
- package/dist-server/service/construction-detail-type/construction-detail-type.js +69 -0
- package/dist-server/service/construction-detail-type/construction-detail-type.js.map +1 -0
- package/dist-server/service/construction-detail-type/index.d.ts +5 -0
- package/dist-server/service/construction-detail-type/index.js +9 -0
- package/dist-server/service/construction-detail-type/index.js.map +1 -0
- package/dist-server/service/construction-type/construction-type-mutation.d.ts +6 -0
- package/dist-server/service/construction-type/construction-type-mutation.js +64 -0
- package/dist-server/service/construction-type/construction-type-mutation.js.map +1 -0
- package/dist-server/service/construction-type/construction-type-query.d.ts +13 -0
- package/dist-server/service/construction-type/construction-type-query.js +87 -0
- package/dist-server/service/construction-type/construction-type-query.js.map +1 -0
- package/dist-server/service/construction-type/construction-type-type.d.ts +12 -0
- package/dist-server/service/construction-type/construction-type-type.js +47 -0
- package/dist-server/service/construction-type/construction-type-type.js.map +1 -0
- package/dist-server/service/construction-type/construction-type.d.ts +19 -0
- package/dist-server/service/construction-type/construction-type.js +88 -0
- package/dist-server/service/construction-type/construction-type.js.map +1 -0
- package/dist-server/service/construction-type/index.d.ts +5 -0
- package/dist-server/service/construction-type/index.js +9 -0
- package/dist-server/service/construction-type/index.js.map +1 -0
- package/dist-server/service/index.d.ts +15 -0
- package/dist-server/service/index.js +59 -0
- package/dist-server/service/index.js.map +1 -0
- package/dist-server/service/inspection-drawing-type/index.d.ts +5 -0
- package/dist-server/service/inspection-drawing-type/index.js +9 -0
- package/dist-server/service/inspection-drawing-type/index.js.map +1 -0
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.d.ts +6 -0
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js +64 -0
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js.map +1 -0
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.d.ts +12 -0
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js +78 -0
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js.map +1 -0
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.d.ts +10 -0
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js +39 -0
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js.map +1 -0
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type.d.ts +16 -0
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js +72 -0
- package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js.map +1 -0
- package/dist-server/service/inspection-part/index.d.ts +5 -0
- package/dist-server/service/inspection-part/index.js +9 -0
- package/dist-server/service/inspection-part/index.js.map +1 -0
- package/dist-server/service/inspection-part/inspection-part-mutation.d.ts +6 -0
- package/dist-server/service/inspection-part/inspection-part-mutation.js +55 -0
- package/dist-server/service/inspection-part/inspection-part-mutation.js.map +1 -0
- package/dist-server/service/inspection-part/inspection-part-query.d.ts +10 -0
- package/dist-server/service/inspection-part/inspection-part-query.js +66 -0
- package/dist-server/service/inspection-part/inspection-part-query.js.map +1 -0
- package/dist-server/service/inspection-part/inspection-part-type.d.ts +11 -0
- package/dist-server/service/inspection-part/inspection-part-type.js +43 -0
- package/dist-server/service/inspection-part/inspection-part-type.js.map +1 -0
- package/dist-server/service/inspection-part/inspection-part.d.ts +15 -0
- package/dist-server/service/inspection-part/inspection-part.js +69 -0
- package/dist-server/service/inspection-part/inspection-part.js.map +1 -0
- package/dist-server/service/manager/index.d.ts +7 -0
- package/dist-server/service/manager/index.js +11 -0
- package/dist-server/service/manager/index.js.map +1 -0
- package/dist-server/service/manager/manager-mutation.d.ts +5 -0
- package/dist-server/service/manager/manager-mutation.js +39 -0
- package/dist-server/service/manager/manager-mutation.js.map +1 -0
- package/dist-server/service/manager/manager-query.d.ts +4 -0
- package/dist-server/service/manager/manager-query.js +35 -0
- package/dist-server/service/manager/manager-query.js.map +1 -0
- package/dist-server/service/manager/manager-type.d.ts +15 -0
- package/dist-server/service/manager/manager-type.js +62 -0
- package/dist-server/service/manager/manager-type.js.map +1 -0
- package/dist-server/service/manager/manager.d.ts +8 -0
- package/dist-server/service/manager/manager.js +41 -0
- package/dist-server/service/manager/manager.js.map +1 -0
- package/dist-server/service/project/index.d.ts +5 -0
- package/dist-server/service/project/index.js +9 -0
- package/dist-server/service/project/index.js.map +1 -0
- package/dist-server/service/project/issue-project-code.d.ts +7 -0
- package/dist-server/service/project/issue-project-code.js +27 -0
- package/dist-server/service/project/issue-project-code.js.map +1 -0
- package/dist-server/service/project/project-mutation.d.ts +28 -0
- package/dist-server/service/project/project-mutation.js +499 -0
- package/dist-server/service/project/project-mutation.js.map +1 -0
- package/dist-server/service/project/project-query.d.ts +31 -0
- package/dist-server/service/project/project-query.js +307 -0
- package/dist-server/service/project/project-query.js.map +1 -0
- package/dist-server/service/project/project-type.d.ts +42 -0
- package/dist-server/service/project/project-type.js +152 -0
- package/dist-server/service/project/project-type.js.map +1 -0
- package/dist-server/service/project/project.d.ts +66 -0
- package/dist-server/service/project/project.js +247 -0
- package/dist-server/service/project/project.js.map +1 -0
- package/dist-server/service/resource/index.d.ts +6 -0
- package/dist-server/service/resource/index.js +10 -0
- package/dist-server/service/resource/index.js.map +1 -0
- package/dist-server/service/resource/resource-mutation.d.ts +10 -0
- package/dist-server/service/resource/resource-mutation.js +131 -0
- package/dist-server/service/resource/resource-mutation.js.map +1 -0
- package/dist-server/service/resource/resource-query.d.ts +11 -0
- package/dist-server/service/resource/resource-query.js +76 -0
- package/dist-server/service/resource/resource-query.js.map +1 -0
- package/dist-server/service/resource/resource-type.d.ts +17 -0
- package/dist-server/service/resource/resource-type.js +65 -0
- package/dist-server/service/resource/resource-type.js.map +1 -0
- package/dist-server/service/resource/resource.d.ts +24 -0
- package/dist-server/service/resource/resource.js +93 -0
- package/dist-server/service/resource/resource.js.map +1 -0
- package/dist-server/service/task/index.d.ts +5 -0
- package/dist-server/service/task/index.js +9 -0
- package/dist-server/service/task/index.js.map +1 -0
- package/dist-server/service/task/task-mutation.d.ts +10 -0
- package/dist-server/service/task/task-mutation.js +135 -0
- package/dist-server/service/task/task-mutation.js.map +1 -0
- package/dist-server/service/task/task-query.d.ts +21 -0
- package/dist-server/service/task/task-query.js +219 -0
- package/dist-server/service/task/task-query.js.map +1 -0
- package/dist-server/service/task/task-type.d.ts +31 -0
- package/dist-server/service/task/task-type.js +114 -0
- package/dist-server/service/task/task-type.js.map +1 -0
- package/dist-server/service/task/task.d.ts +35 -0
- package/dist-server/service/task/task.js +151 -0
- package/dist-server/service/task/task.js.map +1 -0
- package/dist-server/service/task-checklist-binding/index.d.ts +5 -0
- package/dist-server/service/task-checklist-binding/index.js +9 -0
- package/dist-server/service/task-checklist-binding/index.js.map +1 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.d.ts +5 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.js +188 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.js.map +1 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-query.d.ts +8 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-query.js +61 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-query.js.map +1 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-type.d.ts +15 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-type.js +57 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding-type.js.map +1 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding.d.ts +22 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding.js +106 -0
- package/dist-server/service/task-checklist-binding/task-checklist-binding.js.map +1 -0
- package/dist-server/service/task-resource/index.d.ts +6 -0
- package/dist-server/service/task-resource/index.js +10 -0
- package/dist-server/service/task-resource/index.js.map +1 -0
- package/dist-server/service/task-resource/task-resource-mutation.d.ts +10 -0
- package/dist-server/service/task-resource/task-resource-mutation.js +132 -0
- package/dist-server/service/task-resource/task-resource-mutation.js.map +1 -0
- package/dist-server/service/task-resource/task-resource-query.d.ts +7 -0
- package/dist-server/service/task-resource/task-resource-query.js +45 -0
- package/dist-server/service/task-resource/task-resource-query.js.map +1 -0
- package/dist-server/service/task-resource/task-resource-type.d.ts +17 -0
- package/dist-server/service/task-resource/task-resource-type.js +65 -0
- package/dist-server/service/task-resource/task-resource-type.js.map +1 -0
- package/dist-server/service/task-resource/task-resource.d.ts +13 -0
- package/dist-server/service/task-resource/task-resource.js +59 -0
- package/dist-server/service/task-resource/task-resource.js.map +1 -0
- package/dist-server/service/worker-type/index.d.ts +5 -0
- package/dist-server/service/worker-type/index.js +9 -0
- package/dist-server/service/worker-type/index.js.map +1 -0
- package/dist-server/service/worker-type/worker-type-mutation.d.ts +6 -0
- package/dist-server/service/worker-type/worker-type-mutation.js +64 -0
- package/dist-server/service/worker-type/worker-type-mutation.js.map +1 -0
- package/dist-server/service/worker-type/worker-type-query.d.ts +11 -0
- package/dist-server/service/worker-type/worker-type-query.js +73 -0
- package/dist-server/service/worker-type/worker-type-query.js.map +1 -0
- package/dist-server/service/worker-type/worker-type-type.d.ts +11 -0
- package/dist-server/service/worker-type/worker-type-type.js +43 -0
- package/dist-server/service/worker-type/worker-type-type.js.map +1 -0
- package/dist-server/service/worker-type/worker-type.d.ts +16 -0
- package/dist-server/service/worker-type/worker-type.js +77 -0
- package/dist-server/service/worker-type/worker-type.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InspectionPart = 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 inspection_drawing_type_1 = require("../inspection-drawing-type/inspection-drawing-type");
|
|
9
|
+
let InspectionPart = class InspectionPart {
|
|
10
|
+
};
|
|
11
|
+
exports.InspectionPart = InspectionPart;
|
|
12
|
+
tslib_1.__decorate([
|
|
13
|
+
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
14
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID),
|
|
15
|
+
tslib_1.__metadata("design:type", String)
|
|
16
|
+
], InspectionPart.prototype, "id", void 0);
|
|
17
|
+
tslib_1.__decorate([
|
|
18
|
+
(0, typeorm_1.Column)({ nullable: false, comment: '검측 부위' }),
|
|
19
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
20
|
+
tslib_1.__metadata("design:type", String)
|
|
21
|
+
], InspectionPart.prototype, "name", void 0);
|
|
22
|
+
tslib_1.__decorate([
|
|
23
|
+
(0, typeorm_1.Column)({ nullable: true, comment: '시퀀스' }),
|
|
24
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
|
|
25
|
+
tslib_1.__metadata("design:type", Number)
|
|
26
|
+
], InspectionPart.prototype, "sequence", void 0);
|
|
27
|
+
tslib_1.__decorate([
|
|
28
|
+
(0, typeorm_1.ManyToOne)(type => inspection_drawing_type_1.InspectionDrawingType),
|
|
29
|
+
(0, type_graphql_1.Field)(type => inspection_drawing_type_1.InspectionDrawingType, { nullable: true }),
|
|
30
|
+
tslib_1.__metadata("design:type", inspection_drawing_type_1.InspectionDrawingType)
|
|
31
|
+
], InspectionPart.prototype, "inspectionDrawingType", void 0);
|
|
32
|
+
tslib_1.__decorate([
|
|
33
|
+
(0, typeorm_1.RelationId)((inspectionPart) => inspectionPart.inspectionDrawingType),
|
|
34
|
+
tslib_1.__metadata("design:type", String)
|
|
35
|
+
], InspectionPart.prototype, "inspectionDrawingTypeId", void 0);
|
|
36
|
+
tslib_1.__decorate([
|
|
37
|
+
(0, typeorm_1.CreateDateColumn)(),
|
|
38
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
39
|
+
tslib_1.__metadata("design:type", Date)
|
|
40
|
+
], InspectionPart.prototype, "createdAt", void 0);
|
|
41
|
+
tslib_1.__decorate([
|
|
42
|
+
(0, typeorm_1.UpdateDateColumn)(),
|
|
43
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
44
|
+
tslib_1.__metadata("design:type", Date)
|
|
45
|
+
], InspectionPart.prototype, "updatedAt", void 0);
|
|
46
|
+
tslib_1.__decorate([
|
|
47
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
|
48
|
+
(0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
|
|
49
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
50
|
+
], InspectionPart.prototype, "creator", void 0);
|
|
51
|
+
tslib_1.__decorate([
|
|
52
|
+
(0, typeorm_1.RelationId)((inspectionPart) => inspectionPart.creator),
|
|
53
|
+
tslib_1.__metadata("design:type", String)
|
|
54
|
+
], InspectionPart.prototype, "creatorId", void 0);
|
|
55
|
+
tslib_1.__decorate([
|
|
56
|
+
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
|
|
57
|
+
(0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
|
|
58
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
59
|
+
], InspectionPart.prototype, "updater", void 0);
|
|
60
|
+
tslib_1.__decorate([
|
|
61
|
+
(0, typeorm_1.RelationId)((inspectionPart) => inspectionPart.updater),
|
|
62
|
+
tslib_1.__metadata("design:type", String)
|
|
63
|
+
], InspectionPart.prototype, "updaterId", void 0);
|
|
64
|
+
exports.InspectionPart = InspectionPart = tslib_1.__decorate([
|
|
65
|
+
(0, typeorm_1.Entity)(),
|
|
66
|
+
(0, typeorm_1.Index)('ix_inspection_part_0', (inspectionPart) => [inspectionPart.sequence]),
|
|
67
|
+
(0, type_graphql_1.ObjectType)({ description: 'Entity for InspectionPart' })
|
|
68
|
+
], InspectionPart);
|
|
69
|
+
//# sourceMappingURL=inspection-part.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspection-part.js","sourceRoot":"","sources":["../../../server/service/inspection-part/inspection-part.ts"],"names":[],"mappings":";;;;AAAA,qCAAkI;AAClI,+CAAyD;AACzD,yDAAgD;AAChD,gGAA0F;AAKnF,IAAM,cAAc,GAApB,MAAM,cAAc;CA0C1B,CAAA;AA1CY,wCAAc;AAGhB;IAFR,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;0CACC;AAInB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC7C,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACb;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;;gDACtB;AAKjB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,+CAAqB,CAAC;IACxC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,+CAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjC,+CAAqB;6DAAA;AAG7C;IADC,IAAA,oBAAU,EAAC,CAAC,cAA8B,EAAE,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;;+DACrD;AAIhC;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;iDAAA;AAIhB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;iDAAA;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;+CAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,cAA8B,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;;iDACrD;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;+CAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,cAA8B,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;;iDACrD;yBAzCP,cAAc;IAH1B,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,sBAAsB,EAAE,CAAC,cAA8B,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5F,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;GAC5C,cAAc,CA0C1B","sourcesContent":["import { CreateDateColumn, UpdateDateColumn, Entity, Index, Column, RelationId, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'\nimport { ObjectType, Field, ID, Int } from 'type-graphql'\nimport { User } from '@things-factory/auth-base'\nimport { InspectionDrawingType } from '../inspection-drawing-type/inspection-drawing-type'\n\n@Entity()\n@Index('ix_inspection_part_0', (inspectionPart: InspectionPart) => [inspectionPart.sequence])\n@ObjectType({ description: 'Entity for InspectionPart' })\nexport class InspectionPart {\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 => InspectionDrawingType)\n @Field(type => InspectionDrawingType, { nullable: true })\n inspectionDrawingType?: InspectionDrawingType\n\n @RelationId((inspectionPart: InspectionPart) => inspectionPart.inspectionDrawingType)\n inspectionDrawingTypeId?: 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((inspectionPart: InspectionPart) => inspectionPart.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((inspectionPart: InspectionPart) => inspectionPart.updater)\n updaterId?: string\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Manager } from './manager';
|
|
2
|
+
import { ManagerQuery } from './manager-query';
|
|
3
|
+
import { ManagerMutation } from './manager-mutation';
|
|
4
|
+
import { ManagerOutput } from './manager-type';
|
|
5
|
+
export declare const entities: (typeof Manager)[];
|
|
6
|
+
export declare const resolvers: (typeof ManagerQuery | typeof ManagerMutation)[];
|
|
7
|
+
export declare const types: (typeof ManagerOutput)[];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.types = exports.resolvers = exports.entities = void 0;
|
|
4
|
+
const manager_1 = require("./manager");
|
|
5
|
+
const manager_query_1 = require("./manager-query");
|
|
6
|
+
const manager_mutation_1 = require("./manager-mutation");
|
|
7
|
+
const manager_type_1 = require("./manager-type");
|
|
8
|
+
exports.entities = [manager_1.Manager];
|
|
9
|
+
exports.resolvers = [manager_query_1.ManagerQuery, manager_mutation_1.ManagerMutation];
|
|
10
|
+
exports.types = [manager_type_1.ManagerOutput];
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/manager/index.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,mDAA8C;AAC9C,yDAAoD;AACpD,iDAA8C;AAEjC,QAAA,QAAQ,GAAG,CAAC,iBAAO,CAAC,CAAA;AACpB,QAAA,SAAS,GAAG,CAAC,4BAAY,EAAE,kCAAe,CAAC,CAAA;AAC3C,QAAA,KAAK,GAAG,CAAC,4BAAa,CAAC,CAAA","sourcesContent":["import { Manager } from './manager'\nimport { ManagerQuery } from './manager-query'\nimport { ManagerMutation } from './manager-mutation'\nimport { ManagerOutput } from './manager-type'\n\nexport const entities = [Manager]\nexport const resolvers = [ManagerQuery, ManagerMutation]\nexport const types = [ManagerOutput]\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ManagerMutation = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const manager_1 = require("./manager");
|
|
7
|
+
const manager_type_1 = require("./manager-type");
|
|
8
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
9
|
+
let ManagerMutation = class ManagerMutation {
|
|
10
|
+
async updateMultipleManager(patches, context) {
|
|
11
|
+
const { tx, user } = context.state;
|
|
12
|
+
let results = [];
|
|
13
|
+
const managerRepo = tx.getRepository(manager_1.Manager);
|
|
14
|
+
const userRepo = tx.getRepository(auth_base_1.User);
|
|
15
|
+
for (let i = 0; i < patches.length; i++) {
|
|
16
|
+
const updateRecord = patches[i];
|
|
17
|
+
const manager = updateRecord.id ? await managerRepo.findOneBy({ id: updateRecord.id }) : {};
|
|
18
|
+
const managerUser = await userRepo.findOneBy({ id: updateRecord.userId });
|
|
19
|
+
await userRepo.save(Object.assign(Object.assign({}, managerUser), { name: updateRecord.name, updater: user }));
|
|
20
|
+
const result = await managerRepo.save(Object.assign(Object.assign(Object.assign({}, manager), { user: managerUser }), updateRecord));
|
|
21
|
+
results.push(Object.assign({}, result));
|
|
22
|
+
}
|
|
23
|
+
return results;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
exports.ManagerMutation = ManagerMutation;
|
|
27
|
+
tslib_1.__decorate([
|
|
28
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
|
29
|
+
(0, type_graphql_1.Mutation)(returns => [manager_1.Manager], { description: "To modify multiple Managers' information" }),
|
|
30
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [manager_type_1.ManagerPatch])),
|
|
31
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
32
|
+
tslib_1.__metadata("design:type", Function),
|
|
33
|
+
tslib_1.__metadata("design:paramtypes", [Array, Object]),
|
|
34
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
35
|
+
], ManagerMutation.prototype, "updateMultipleManager", null);
|
|
36
|
+
exports.ManagerMutation = ManagerMutation = tslib_1.__decorate([
|
|
37
|
+
(0, type_graphql_1.Resolver)(manager_1.Manager)
|
|
38
|
+
], ManagerMutation);
|
|
39
|
+
//# sourceMappingURL=manager-mutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager-mutation.js","sourceRoot":"","sources":["../../../server/service/manager/manager-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,uCAAmC;AACnC,iDAA6C;AAC7C,yDAAgD;AAGzC,IAAM,eAAe,GAArB,MAAM,eAAe;IAGpB,AAAN,KAAK,CAAC,qBAAqB,CACe,OAAuB,EACxD,OAAwB;QAE/B,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAElC,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,WAAW,GAAG,EAAE,CAAC,aAAa,CAAC,iBAAO,CAAC,CAAA;QAC7C,MAAM,QAAQ,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAI,CAAC,CAAA;QAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC3F,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAA;YAEzE,MAAM,QAAQ,CAAC,IAAI,iCACd,WAAW,KACd,IAAI,EAAE,YAAY,CAAC,IAAI,EACvB,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,+CAChC,OAAO,KACV,IAAI,EAAE,WAAW,KACd,YAAY,EACf,CAAA;YAEF,OAAO,CAAC,IAAI,mBAAM,MAAM,EAAG,CAAA;QAC7B,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAA;AAnCY,0CAAe;AAGpB;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,iBAAO,CAAC,EAAE,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC;IAEzF,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,2BAAY,CAAC,CAAC,CAAA;IACtC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;4DA6BP;0BAlCU,eAAe;IAD3B,IAAA,uBAAQ,EAAC,iBAAO,CAAC;GACL,eAAe,CAmC3B","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { Manager } from './manager'\nimport { ManagerPatch } from './manager-type'\nimport { User } from '@things-factory/auth-base'\n\n@Resolver(Manager)\nexport class ManagerMutation {\n @Directive('@transaction')\n @Mutation(returns => [Manager], { description: \"To modify multiple Managers' information\" })\n async updateMultipleManager(\n @Arg('patches', type => [ManagerPatch]) patches: ManagerPatch[],\n @Ctx() context: ResolverContext\n ): Promise<Manager[]> {\n const { tx, user } = context.state\n\n let results = []\n const managerRepo = tx.getRepository(Manager)\n const userRepo = tx.getRepository(User)\n\n for (let i = 0; i < patches.length; i++) {\n const updateRecord = patches[i]\n const manager = updateRecord.id ? await managerRepo.findOneBy({ id: updateRecord.id }) : {}\n const managerUser = await userRepo.findOneBy({ id: updateRecord.userId })\n\n await userRepo.save({\n ...managerUser,\n name: updateRecord.name,\n updater: user\n })\n\n const result = await managerRepo.save({\n ...manager,\n user: managerUser,\n ...updateRecord\n })\n\n results.push({ ...result })\n }\n\n return results\n }\n}\n"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ManagerQuery = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const shell_1 = require("@things-factory/shell");
|
|
7
|
+
const manager_1 = require("./manager");
|
|
8
|
+
const manager_type_1 = require("./manager-type");
|
|
9
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
10
|
+
let ManagerQuery = class ManagerQuery {
|
|
11
|
+
async managers() {
|
|
12
|
+
const queryBuilder = (0, shell_1.getRepository)(auth_base_1.User)
|
|
13
|
+
.createQueryBuilder('u')
|
|
14
|
+
.select('m.id', 'id')
|
|
15
|
+
.addSelect('m.phone', 'phone')
|
|
16
|
+
.addSelect('m.position', 'position')
|
|
17
|
+
.addSelect('u.id', 'userId')
|
|
18
|
+
.addSelect('u.name', 'name')
|
|
19
|
+
.addSelect('u.updated_at', 'updatedAt')
|
|
20
|
+
.leftJoin('managers', 'm', 'u.id = m.user_id')
|
|
21
|
+
.orderBy('u.name', 'DESC');
|
|
22
|
+
return await queryBuilder.getRawMany();
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.ManagerQuery = ManagerQuery;
|
|
26
|
+
tslib_1.__decorate([
|
|
27
|
+
(0, type_graphql_1.Query)(returns => [manager_type_1.ManagerOutput], { description: '담당자 리스트' }),
|
|
28
|
+
tslib_1.__metadata("design:type", Function),
|
|
29
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
30
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
31
|
+
], ManagerQuery.prototype, "managers", null);
|
|
32
|
+
exports.ManagerQuery = ManagerQuery = tslib_1.__decorate([
|
|
33
|
+
(0, type_graphql_1.Resolver)(manager_1.Manager)
|
|
34
|
+
], ManagerQuery);
|
|
35
|
+
//# sourceMappingURL=manager-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager-query.js","sourceRoot":"","sources":["../../../server/service/manager/manager-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA8C;AAC9C,iDAAqD;AACrD,uCAAmC;AACnC,iDAA8C;AAC9C,yDAAgD;AAGzC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAEjB,AAAN,KAAK,CAAC,QAAQ;QACZ,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,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE5B,OAAO,MAAM,YAAY,CAAC,UAAU,EAAE,CAAA;IACxC,CAAC;CACF,CAAA;AAhBY,oCAAY;AAEjB;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,4BAAa,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;;;;4CAc7D;uBAfU,YAAY;IADxB,IAAA,uBAAQ,EAAC,iBAAO,CAAC;GACL,YAAY,CAgBxB","sourcesContent":["import { Resolver, Query } from 'type-graphql'\nimport { getRepository } from '@things-factory/shell'\nimport { Manager } from './manager'\nimport { ManagerOutput } from './manager-type'\nimport { User } from '@things-factory/auth-base'\n\n@Resolver(Manager)\nexport class ManagerQuery {\n @Query(returns => [ManagerOutput], { description: '담당자 리스트' })\n async managers(): 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 .orderBy('u.name', 'DESC')\n\n return await queryBuilder.getRawMany()\n }\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class ManagerPatch {
|
|
2
|
+
id?: string;
|
|
3
|
+
phone?: string;
|
|
4
|
+
position?: string;
|
|
5
|
+
userId?: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class ManagerOutput {
|
|
9
|
+
id?: string;
|
|
10
|
+
phone?: string;
|
|
11
|
+
position?: string;
|
|
12
|
+
userId?: string;
|
|
13
|
+
name?: string;
|
|
14
|
+
updatedAt?: string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ManagerOutput = exports.ManagerPatch = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
let ManagerPatch = class ManagerPatch {
|
|
7
|
+
};
|
|
8
|
+
exports.ManagerPatch = ManagerPatch;
|
|
9
|
+
tslib_1.__decorate([
|
|
10
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
|
|
11
|
+
tslib_1.__metadata("design:type", String)
|
|
12
|
+
], ManagerPatch.prototype, "id", void 0);
|
|
13
|
+
tslib_1.__decorate([
|
|
14
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
15
|
+
tslib_1.__metadata("design:type", String)
|
|
16
|
+
], ManagerPatch.prototype, "phone", void 0);
|
|
17
|
+
tslib_1.__decorate([
|
|
18
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
19
|
+
tslib_1.__metadata("design:type", String)
|
|
20
|
+
], ManagerPatch.prototype, "position", void 0);
|
|
21
|
+
tslib_1.__decorate([
|
|
22
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
|
|
23
|
+
tslib_1.__metadata("design:type", String)
|
|
24
|
+
], ManagerPatch.prototype, "userId", void 0);
|
|
25
|
+
tslib_1.__decorate([
|
|
26
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
27
|
+
tslib_1.__metadata("design:type", String)
|
|
28
|
+
], ManagerPatch.prototype, "name", void 0);
|
|
29
|
+
exports.ManagerPatch = ManagerPatch = tslib_1.__decorate([
|
|
30
|
+
(0, type_graphql_1.InputType)()
|
|
31
|
+
], ManagerPatch);
|
|
32
|
+
let ManagerOutput = class ManagerOutput {
|
|
33
|
+
};
|
|
34
|
+
exports.ManagerOutput = ManagerOutput;
|
|
35
|
+
tslib_1.__decorate([
|
|
36
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
|
|
37
|
+
tslib_1.__metadata("design:type", String)
|
|
38
|
+
], ManagerOutput.prototype, "id", void 0);
|
|
39
|
+
tslib_1.__decorate([
|
|
40
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
41
|
+
tslib_1.__metadata("design:type", String)
|
|
42
|
+
], ManagerOutput.prototype, "phone", void 0);
|
|
43
|
+
tslib_1.__decorate([
|
|
44
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
45
|
+
tslib_1.__metadata("design:type", String)
|
|
46
|
+
], ManagerOutput.prototype, "position", void 0);
|
|
47
|
+
tslib_1.__decorate([
|
|
48
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID),
|
|
49
|
+
tslib_1.__metadata("design:type", String)
|
|
50
|
+
], ManagerOutput.prototype, "userId", void 0);
|
|
51
|
+
tslib_1.__decorate([
|
|
52
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
53
|
+
tslib_1.__metadata("design:type", String)
|
|
54
|
+
], ManagerOutput.prototype, "name", void 0);
|
|
55
|
+
tslib_1.__decorate([
|
|
56
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
57
|
+
tslib_1.__metadata("design:type", String)
|
|
58
|
+
], ManagerOutput.prototype, "updatedAt", void 0);
|
|
59
|
+
exports.ManagerOutput = ManagerOutput = tslib_1.__decorate([
|
|
60
|
+
(0, type_graphql_1.ObjectType)()
|
|
61
|
+
], ManagerOutput);
|
|
62
|
+
//# sourceMappingURL=manager-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager-type.js","sourceRoot":"","sources":["../../../server/service/manager/manager-type.ts"],"names":[],"mappings":";;;;AAAA,+CAA+D;AAGxD,IAAM,YAAY,GAAlB,MAAM,YAAY;CAexB,CAAA;AAfY,oCAAY;AAEvB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACZ;AAGd;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACT;AAGjB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACvB;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACb;uBAdF,YAAY;IADxB,IAAA,wBAAS,GAAE;GACC,YAAY,CAexB;AAGM,IAAM,aAAa,GAAnB,MAAM,aAAa;CAkBzB,CAAA;AAlBY,sCAAa;AAExB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACZ;AAGd;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACT;AAGjB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;6CACH;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACR;wBAjBP,aAAa;IADzB,IAAA,yBAAU,GAAE;GACA,aAAa,CAkBzB","sourcesContent":["import { ObjectType, Field, InputType, ID } from 'type-graphql'\n\n@InputType()\nexport class ManagerPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n phone?: string\n\n @Field({ nullable: true })\n position?: string\n\n @Field(type => ID, { nullable: true })\n userId?: string\n\n @Field({ nullable: true })\n name?: string\n}\n\n@ObjectType()\nexport class ManagerOutput {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n phone?: string\n\n @Field({ nullable: true })\n position?: string\n\n @Field(type => ID)\n userId?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n updatedAt?: string\n}\n"]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Manager = 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
|
+
let Manager = class Manager {
|
|
9
|
+
};
|
|
10
|
+
exports.Manager = Manager;
|
|
11
|
+
tslib_1.__decorate([
|
|
12
|
+
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
13
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.ID),
|
|
14
|
+
tslib_1.__metadata("design:type", String)
|
|
15
|
+
], Manager.prototype, "id", void 0);
|
|
16
|
+
tslib_1.__decorate([
|
|
17
|
+
(0, typeorm_1.Column)({ nullable: true, comment: '핸드폰 번호' }),
|
|
18
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
19
|
+
tslib_1.__metadata("design:type", String)
|
|
20
|
+
], Manager.prototype, "phone", void 0);
|
|
21
|
+
tslib_1.__decorate([
|
|
22
|
+
(0, typeorm_1.Column)({ nullable: true, comment: '직위' }),
|
|
23
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
24
|
+
tslib_1.__metadata("design:type", String)
|
|
25
|
+
], Manager.prototype, "position", void 0);
|
|
26
|
+
tslib_1.__decorate([
|
|
27
|
+
(0, typeorm_1.OneToOne)(type => auth_base_1.User),
|
|
28
|
+
(0, typeorm_1.JoinColumn)(),
|
|
29
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
30
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
31
|
+
], Manager.prototype, "user", void 0);
|
|
32
|
+
tslib_1.__decorate([
|
|
33
|
+
(0, typeorm_1.RelationId)((manager) => manager.user),
|
|
34
|
+
tslib_1.__metadata("design:type", String)
|
|
35
|
+
], Manager.prototype, "userId", void 0);
|
|
36
|
+
exports.Manager = Manager = tslib_1.__decorate([
|
|
37
|
+
(0, typeorm_1.Entity)(),
|
|
38
|
+
(0, typeorm_1.Index)('ix_manager_0', (manager) => [manager.user]),
|
|
39
|
+
(0, type_graphql_1.ObjectType)({ description: '담당자 관리' })
|
|
40
|
+
], Manager);
|
|
41
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../server/service/manager/manager.ts"],"names":[],"mappings":";;;;AAAA,qCAAyG;AACzG,+CAAoD;AAEpD,yDAAgD;AAKzC,IAAM,OAAO,GAAb,MAAM,OAAO;CAoBnB,CAAA;AApBY,0BAAO;AAGT;IAFR,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;mCACC;AAInB;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC7C,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCACZ;AAId;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACT;AAKjB;IAHC,IAAA,kBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACtB,IAAA,oBAAU,GAAE;IACZ,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACnB,gBAAI;qCAAA;AAGX;IADC,IAAA,oBAAU,EAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;;uCAChC;kBAnBJ,OAAO;IAHnB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,cAAc,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;GACzB,OAAO,CAoBnB","sourcesContent":["import { Entity, Index, Column, RelationId, OneToOne, PrimaryGeneratedColumn, JoinColumn } from 'typeorm'\nimport { ObjectType, Field, ID } from 'type-graphql'\nimport { Domain } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\n\n@Entity()\n@Index('ix_manager_0', (manager: Manager) => [manager.user])\n@ObjectType({ description: '담당자 관리' })\nexport class Manager {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @Column({ nullable: true, comment: '핸드폰 번호' })\n @Field({ nullable: true })\n phone?: string\n\n @Column({ nullable: true, comment: '직위' })\n @Field({ nullable: true })\n position?: string\n\n @OneToOne(type => User)\n @JoinColumn()\n @Field({ nullable: true })\n user?: User\n\n @RelationId((manager: Manager) => manager.user)\n userId?: string\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Project } from './project';
|
|
2
|
+
import { ProjectQuery } from './project-query';
|
|
3
|
+
import { ProjectMutation } from './project-mutation';
|
|
4
|
+
export declare const entities: (typeof Project)[];
|
|
5
|
+
export declare const resolvers: (typeof ProjectMutation | typeof ProjectQuery)[];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolvers = exports.entities = void 0;
|
|
4
|
+
const project_1 = require("./project");
|
|
5
|
+
const project_query_1 = require("./project-query");
|
|
6
|
+
const project_mutation_1 = require("./project-mutation");
|
|
7
|
+
exports.entities = [project_1.Project];
|
|
8
|
+
exports.resolvers = [project_query_1.ProjectQuery, project_mutation_1.ProjectMutation];
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/project/index.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,mDAA8C;AAC9C,yDAAoD;AAEvC,QAAA,QAAQ,GAAG,CAAC,iBAAO,CAAC,CAAA;AACpB,QAAA,SAAS,GAAG,CAAC,4BAAY,EAAE,kCAAe,CAAC,CAAA","sourcesContent":["import { Project } from './project'\nimport { ProjectQuery } from './project-query'\nimport { ProjectMutation } from './project-mutation'\n\nexport const entities = [Project]\nexport const resolvers = [ProjectQuery, ProjectMutation]\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { EntityManager } from 'typeorm';
|
|
2
|
+
/**
|
|
3
|
+
* 프로젝트 관리번호(YYYY-NNNNN) 를 발번한다.
|
|
4
|
+
* 호출자는 반드시 트랜잭션(EntityManager) 을 넘겨야 한다.
|
|
5
|
+
* 같은 연도 prefix 의 최대값을 pessimistic lock 으로 잠근 뒤 +1 한다.
|
|
6
|
+
*/
|
|
7
|
+
export declare function issueProjectCode(tx: EntityManager, now?: Date): Promise<string>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.issueProjectCode = issueProjectCode;
|
|
4
|
+
const project_1 = require("./project");
|
|
5
|
+
const SEQ_WIDTH = 5;
|
|
6
|
+
const SEQ_MAX = 10 ** SEQ_WIDTH - 1;
|
|
7
|
+
/**
|
|
8
|
+
* 프로젝트 관리번호(YYYY-NNNNN) 를 발번한다.
|
|
9
|
+
* 호출자는 반드시 트랜잭션(EntityManager) 을 넘겨야 한다.
|
|
10
|
+
* 같은 연도 prefix 의 최대값을 pessimistic lock 으로 잠근 뒤 +1 한다.
|
|
11
|
+
*/
|
|
12
|
+
async function issueProjectCode(tx, now = new Date()) {
|
|
13
|
+
const yearPrefix = String(now.getFullYear());
|
|
14
|
+
const last = await tx
|
|
15
|
+
.getRepository(project_1.Project)
|
|
16
|
+
.createQueryBuilder('p')
|
|
17
|
+
.where('p.code LIKE :pattern', { pattern: `${yearPrefix}-%` })
|
|
18
|
+
.setLock('pessimistic_write')
|
|
19
|
+
.orderBy('p.code', 'DESC')
|
|
20
|
+
.getOne();
|
|
21
|
+
const nextSeq = (last === null || last === void 0 ? void 0 : last.code) ? Number(last.code.split('-')[1]) + 1 : 1;
|
|
22
|
+
if (nextSeq > SEQ_MAX) {
|
|
23
|
+
throw new Error(`프로젝트 관리번호 일련번호 한계 초과: ${yearPrefix}-${SEQ_MAX} 이미 사용됨`);
|
|
24
|
+
}
|
|
25
|
+
return `${yearPrefix}-${String(nextSeq).padStart(SEQ_WIDTH, '0')}`;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=issue-project-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-project-code.js","sourceRoot":"","sources":["../../../server/service/project/issue-project-code.ts"],"names":[],"mappings":";;AAYA,4CAkBC;AA5BD,uCAAmC;AAEnC,MAAM,SAAS,GAAG,CAAC,CAAA;AACnB,MAAM,OAAO,GAAG,EAAE,IAAI,SAAS,GAAG,CAAC,CAAA;AAEnC;;;;GAIG;AACI,KAAK,UAAU,gBAAgB,CAAC,EAAiB,EAAE,MAAY,IAAI,IAAI,EAAE;IAC9E,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;IAE5C,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,aAAa,CAAC,iBAAO,CAAC;SACtB,kBAAkB,CAAC,GAAG,CAAC;SACvB,KAAK,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;SAC7D,OAAO,CAAC,mBAAmB,CAAC;SAC5B,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;SACzB,MAAM,EAAE,CAAA;IAEX,MAAM,OAAO,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEpE,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,IAAI,OAAO,SAAS,CAAC,CAAA;IAC1E,CAAC;IAED,OAAO,GAAG,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAA;AACpE,CAAC","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { Project } from './project'\n\nconst SEQ_WIDTH = 5\nconst SEQ_MAX = 10 ** SEQ_WIDTH - 1\n\n/**\n * 프로젝트 관리번호(YYYY-NNNNN) 를 발번한다.\n * 호출자는 반드시 트랜잭션(EntityManager) 을 넘겨야 한다.\n * 같은 연도 prefix 의 최대값을 pessimistic lock 으로 잠근 뒤 +1 한다.\n */\nexport async function issueProjectCode(tx: EntityManager, now: Date = new Date()): Promise<string> {\n const yearPrefix = String(now.getFullYear())\n\n const last = await tx\n .getRepository(Project)\n .createQueryBuilder('p')\n .where('p.code LIKE :pattern', { pattern: `${yearPrefix}-%` })\n .setLock('pessimistic_write')\n .orderBy('p.code', 'DESC')\n .getOne()\n\n const nextSeq = last?.code ? Number(last.code.split('-')[1]) + 1 : 1\n\n if (nextSeq > SEQ_MAX) {\n throw new Error(`프로젝트 관리번호 일련번호 한계 초과: ${yearPrefix}-${SEQ_MAX} 이미 사용됨`)\n }\n\n return `${yearPrefix}-${String(nextSeq).padStart(SEQ_WIDTH, '0')}`\n}\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Attachment } from '@things-factory/attachment-base';
|
|
2
|
+
import { Project } from './project';
|
|
3
|
+
import { NewProject, ProjectPatch, UploadProjectScheduleTable } from './project-type';
|
|
4
|
+
export declare class ProjectMutation {
|
|
5
|
+
createProject(project: NewProject, context: ResolverContext): Promise<Project>;
|
|
6
|
+
updateProject(project: ProjectPatch, context: ResolverContext): Promise<Project>;
|
|
7
|
+
updateProjectPlan(project: ProjectPatch, context: ResolverContext): Promise<Project>;
|
|
8
|
+
uploadProjectScheduleTable(param: UploadProjectScheduleTable, context: ResolverContext): Promise<boolean>;
|
|
9
|
+
deleteProject(id: string, context: ResolverContext): Promise<boolean>;
|
|
10
|
+
downloadPlanFiles(fileIds: string[], context: ResolverContext): Promise<string>;
|
|
11
|
+
promoteProjectToTenant(projectId: string, context: ResolverContext): Promise<Project>;
|
|
12
|
+
demoteProjectTenant(projectId: string, context: ResolverContext): Promise<boolean>;
|
|
13
|
+
/**
|
|
14
|
+
* 비밀번호 확인 후 프로젝트 삭제 — **수퍼유저 전용**(@privilege superUserGranted).
|
|
15
|
+
*
|
|
16
|
+
* 안전장치 3중:
|
|
17
|
+
* 1) @privilege(superUserGranted: true) — 수퍼유저만 호출 가능 (UI 노출 + API 양쪽 방어).
|
|
18
|
+
* 2) 호출자 본인 비밀번호 재확인 — 실수/방치 세션 오작동 방지.
|
|
19
|
+
* 3) **활성 테넌트 상태에서는 삭제 불가** — 먼저 강등해야 함. 활성 테넌트는 라이브
|
|
20
|
+
* 프로젝트 워크스페이스(Domain)를 갖고 있어, 강등으로 그 도메인을 숨긴 뒤에만 삭제.
|
|
21
|
+
*
|
|
22
|
+
* 테넌트 Domain 자체는 지우지 않는다 — domains 는 100+ 테이블이 FK 로 참조하므로 hard-delete
|
|
23
|
+
* 가 불가(프레임워크의 demote 도 softDelete 만 수행). 강등으로 soft-delete 된 상태 그대로 두면
|
|
24
|
+
* 어디에도 노출되지 않고, Project.code 는 순차 발번이라 재사용 충돌도 없다.
|
|
25
|
+
*/
|
|
26
|
+
deleteProjectWithPassword(projectId: string, password: string, context: ResolverContext): Promise<boolean>;
|
|
27
|
+
}
|
|
28
|
+
export declare function createAttachmentAfterDelete(context: ResolverContext, file: any, refBy: any, refType: any): Promise<Attachment>;
|