@dssp/project 0.0.27 → 0.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/client/pages/lib/select2-component.ts +12 -1
  2. package/client/pages/project/component/project-update-header.ts +85 -0
  3. package/client/pages/project/popup/popup-schedule-upload.ts +102 -0
  4. package/client/pages/project/project-list.ts +1 -0
  5. package/client/pages/project/project-plan-management.ts +3 -54
  6. package/client/pages/project/project-schedule.ts +60 -13
  7. package/client/pages/project/project-update.ts +4 -52
  8. package/dist-client/pages/lib/select2-component.js +12 -1
  9. package/dist-client/pages/lib/select2-component.js.map +1 -1
  10. package/dist-client/pages/project/component/project-update-header.d.ts +1 -0
  11. package/dist-client/pages/project/component/project-update-header.js +95 -0
  12. package/dist-client/pages/project/component/project-update-header.js.map +1 -0
  13. package/dist-client/pages/project/popup/popup-schedule-upload.d.ts +9 -0
  14. package/dist-client/pages/project/popup/popup-schedule-upload.js +105 -0
  15. package/dist-client/pages/project/popup/popup-schedule-upload.js.map +1 -0
  16. package/dist-client/pages/project/project-list.d.ts +1 -0
  17. package/dist-client/pages/project/project-list.js.map +1 -1
  18. package/dist-client/pages/project/project-plan-management.d.ts +1 -0
  19. package/dist-client/pages/project/project-plan-management.js +3 -53
  20. package/dist-client/pages/project/project-plan-management.js.map +1 -1
  21. package/dist-client/pages/project/project-schedule.d.ts +4 -0
  22. package/dist-client/pages/project/project-schedule.js +55 -12
  23. package/dist-client/pages/project/project-schedule.js.map +1 -1
  24. package/dist-client/pages/project/project-update.d.ts +1 -0
  25. package/dist-client/pages/project/project-update.js +4 -52
  26. package/dist-client/pages/project/project-update.js.map +1 -1
  27. package/dist-client/route.d.ts +1 -1
  28. package/dist-client/tsconfig.tsbuildinfo +1 -1
  29. package/dist-server/service/project/project-mutation.d.ts +2 -1
  30. package/dist-server/service/project/project-mutation.js +16 -0
  31. package/dist-server/service/project/project-mutation.js.map +1 -1
  32. package/dist-server/service/project/project-query.d.ts +1 -0
  33. package/dist-server/service/project/project-query.js +17 -0
  34. package/dist-server/service/project/project-query.js.map +1 -1
  35. package/dist-server/service/project/project-type.d.ts +4 -0
  36. package/dist-server/service/project/project-type.js +15 -1
  37. package/dist-server/service/project/project-type.js.map +1 -1
  38. package/dist-server/service/project/project.d.ts +1 -0
  39. package/dist-server/service/project/project.js +4 -0
  40. package/dist-server/service/project/project.js.map +1 -1
  41. package/dist-server/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +4 -4
  43. package/server/service/project/project-mutation.ts +16 -1
  44. package/server/service/project/project-query.ts +13 -0
  45. package/server/service/project/project-type.ts +9 -0
  46. package/server/service/project/project.ts +4 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dssp/project",
3
- "version": "0.0.27",
3
+ "version": "0.0.28",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -13,7 +13,7 @@
13
13
  },
14
14
  "repository": {
15
15
  "type": "git",
16
- "url": "git+https://github.com/hatiolab/things-factory.git",
16
+ "url": "git+https://github.com/hatiolab/dssp.git",
17
17
  "directory": "packages/project"
18
18
  },
19
19
  "scripts": {
@@ -27,7 +27,7 @@
27
27
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
28
28
  },
29
29
  "dependencies": {
30
- "@dssp/building-complex": "^0.0.27",
30
+ "@dssp/building-complex": "^0.0.28",
31
31
  "@operato/graphql": "^8.0.0-alpha",
32
32
  "@operato/shell": "^8.0.0-alpha",
33
33
  "@things-factory/auth-base": "^8.0.0-alpha",
@@ -38,5 +38,5 @@
38
38
  "@things-factory/shell": "^8.0.0-alpha",
39
39
  "exceljs": "^4.4.0"
40
40
  },
41
- "gitHead": "1d990063790066107d8c45df86064d8804aec528"
41
+ "gitHead": "9880be3b865bcd429fbab483f7c4863152f1dd38"
42
42
  }
@@ -2,7 +2,7 @@ import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'
2
2
  import { In } from 'typeorm'
3
3
  import { createAttachment, deleteAttachmentsByRef, ATTACHMENT_PATH } from '@things-factory/attachment-base'
4
4
  import { Project, ProjectState } from './project'
5
- import { NewProject, ProjectPatch } from './project-type'
5
+ import { NewProject, ProjectPatch, UploadProjectScheduleTable } from './project-type'
6
6
  import { BuildingComplex, Building, BuildingLevel } from '@dssp/building-complex'
7
7
  import { pdfToImage } from '@things-factory/board-service/dist-server/controllers/headless-pdf-to-image'
8
8
 
@@ -194,6 +194,21 @@ export class ProjectMutation {
194
194
  return projectResult
195
195
  }
196
196
 
197
+ @Directive('@transaction')
198
+ @Mutation(returns => Boolean, { description: '프로젝트 공정표 업로드' })
199
+ async uploadProjectScheduleTable(
200
+ @Arg('param') param: UploadProjectScheduleTable,
201
+ @Ctx() context: ResolverContext
202
+ ): Promise<boolean> {
203
+ const { user, tx } = context.state
204
+ const { projectId, scheduleTable } = param
205
+
206
+ // 프로젝트 공정표 파일 업로드
207
+ await createAttachmentAfterDelete(context, scheduleTable, projectId, Project.name + '_schedule_table')
208
+
209
+ return true
210
+ }
211
+
197
212
  @Directive('@transaction')
198
213
  @Mutation(returns => Boolean, { description: 'To delete Project' })
199
214
  async deleteProject(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
@@ -70,6 +70,19 @@ export class ProjectQuery {
70
70
  return attachment
71
71
  }
72
72
 
73
+ @FieldResolver(type => Attachment)
74
+ async scheduleTable(@Root() project: Project): Promise<Attachment | undefined> {
75
+ const attachment: Attachment = await getRepository(Attachment).findOne({
76
+ where: {
77
+ domain: { id: project.domainId },
78
+ refBy: project.id,
79
+ refType: Project.name + '_schedule_table'
80
+ }
81
+ })
82
+
83
+ return attachment
84
+ }
85
+
73
86
  @FieldResolver(type => BuildingComplex)
74
87
  async buildingComplex(@Root() project: Project): Promise<BuildingComplex> {
75
88
  return await getRepository(BuildingComplex).findOneBy({ id: project.buildingComplexId })
@@ -53,6 +53,15 @@ export class ProjectPatch {
53
53
  buildingComplex?: BuildingComplexPatch
54
54
  }
55
55
 
56
+ @InputType()
57
+ export class UploadProjectScheduleTable {
58
+ @Field({ nullable: false, description: '수정할 프로젝트의 ID' })
59
+ projectId: string
60
+
61
+ @Field(type => GraphQLUpload, { nullable: true, description: '프로젝트 공정표 업로드' })
62
+ scheduleTable?: FileUpload
63
+ }
64
+
56
65
  @ObjectType()
57
66
  export class ProjectList {
58
67
  @Field(type => [Project], { description: '프로젝트 리스트 항목들' })
@@ -127,4 +127,8 @@ export class Project {
127
127
 
128
128
  @RelationId((project: Project) => project.updater)
129
129
  updaterId?: string
130
+
131
+ // 공정표 파일
132
+ @Field(type => Attachment, { nullable: true })
133
+ scheduleTable?: Attachment
130
134
  }