@dssp/supervision 0.0.31 → 0.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/pages/building-inspection/building-inspection-detail-checklist.ts +1 -1
- package/client/pages/building-inspection/building-inspection-detail-drawing.ts +2 -2
- package/client/pages/building-inspection/building-inspection-list.ts +75 -58
- package/client/pages/building-inspection/component/building-inspection-detail-header.ts +15 -11
- package/client/pages/building-inspection/component/inspection-event-provider.ts +1 -1
- package/client/pages/checklist/checklist-view.ts +63 -7
- package/client/pages/checklist/comment-list-popup.ts +318 -0
- package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +1 -1
- package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js.map +1 -1
- package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js +2 -2
- package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js.map +1 -1
- package/dist-client/pages/building-inspection/building-inspection-list.js +75 -58
- package/dist-client/pages/building-inspection/building-inspection-list.js.map +1 -1
- package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js +15 -11
- package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js.map +1 -1
- package/dist-client/pages/building-inspection/component/inspection-event-provider.js +1 -1
- package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +1 -1
- package/dist-client/pages/checklist/checklist-view.d.ts +1 -0
- package/dist-client/pages/checklist/checklist-view.js +57 -7
- package/dist-client/pages/checklist/checklist-view.js.map +1 -1
- package/dist-client/pages/checklist/comment-list-popup.d.ts +2 -0
- package/dist-client/pages/checklist/comment-list-popup.js +343 -0
- package/dist-client/pages/checklist/comment-list-popup.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/service/checklist-item/checklist-item-query.d.ts +3 -0
- package/dist-server/service/checklist-item/checklist-item-query.js +21 -0
- package/dist-server/service/checklist-item/checklist-item-query.js.map +1 -1
- package/dist-server/service/checklist-item/checklist-item.d.ts +2 -1
- package/dist-server/service/checklist-item/checklist-item.js +5 -4
- package/dist-server/service/checklist-item/checklist-item.js.map +1 -1
- package/dist-server/service/checklist-item-comment/checklist-item-comment-history.d.ts +16 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment-history.js +83 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment-history.js.map +1 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.d.ts +7 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js +69 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js.map +1 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment-query.d.ts +7 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment-query.js +49 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment-query.js.map +1 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment-type.d.ts +14 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment-type.js +53 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment-type.js.map +1 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment.d.ts +12 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment.js +57 -0
- package/dist-server/service/checklist-item-comment/checklist-item-comment.js.map +1 -0
- package/dist-server/service/checklist-item-comment/event-subscriber.d.ts +7 -0
- package/dist-server/service/checklist-item-comment/event-subscriber.js +21 -0
- package/dist-server/service/checklist-item-comment/event-subscriber.js.map +1 -0
- package/dist-server/service/checklist-item-comment/index.d.ts +7 -0
- package/dist-server/service/checklist-item-comment/index.js +12 -0
- package/dist-server/service/checklist-item-comment/index.js.map +1 -0
- package/dist-server/service/index.d.ts +2 -1
- package/dist-server/service/index.js +6 -1
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/server/service/checklist-item/checklist-item-query.ts +11 -0
- package/server/service/checklist-item/checklist-item.ts +6 -3
- package/server/service/checklist-item-comment/checklist-item-comment-history.ts +69 -0
- package/server/service/checklist-item-comment/checklist-item-comment-mutation.ts +60 -0
- package/server/service/checklist-item-comment/checklist-item-comment-query.ts +36 -0
- package/server/service/checklist-item-comment/checklist-item-comment-type.ts +32 -0
- package/server/service/checklist-item-comment/checklist-item-comment.ts +56 -0
- package/server/service/checklist-item-comment/event-subscriber.ts +17 -0
- package/server/service/checklist-item-comment/index.ts +9 -0
- package/server/service/index.ts +10 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dssp/supervision",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.33",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "dist-client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -27,9 +27,9 @@
|
|
|
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.
|
|
31
|
-
"@dssp/drawing": "^0.0.
|
|
32
|
-
"@dssp/project": "^0.0.
|
|
30
|
+
"@dssp/building-complex": "^0.0.33",
|
|
31
|
+
"@dssp/drawing": "^0.0.33",
|
|
32
|
+
"@dssp/project": "^0.0.33",
|
|
33
33
|
"@operato/event-view": "^8.0.0-alpha",
|
|
34
34
|
"@operato/graphql": "^8.0.0-alpha",
|
|
35
35
|
"@operato/image-marker": "^8.0.0-alpha",
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"@things-factory/auth-base": "^8.0.0-alpha",
|
|
40
40
|
"@things-factory/shell": "^8.0.0-alpha"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "65cbb3d3b4aafcaeb8d7b0da22ae250345ac0f51"
|
|
43
43
|
}
|
|
@@ -4,6 +4,7 @@ import { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from
|
|
|
4
4
|
import { User } from '@things-factory/auth-base'
|
|
5
5
|
import { ChecklistItem } from './checklist-item'
|
|
6
6
|
import { ChecklistItemList } from './checklist-item-type'
|
|
7
|
+
import { ChecklistItemComment } from '../checklist-item-comment/checklist-item-comment'
|
|
7
8
|
|
|
8
9
|
@Resolver(ChecklistItem)
|
|
9
10
|
export class ChecklistItemQuery {
|
|
@@ -31,6 +32,16 @@ export class ChecklistItemQuery {
|
|
|
31
32
|
return { items, total }
|
|
32
33
|
}
|
|
33
34
|
|
|
35
|
+
@FieldResolver(type => [ChecklistItemComment])
|
|
36
|
+
async checklistItemComments(@Root() checklistItem: ChecklistItem): Promise<ChecklistItemComment[]> {
|
|
37
|
+
return await getRepository(ChecklistItemComment).findBy({ checklistItem: { id: checklistItem.id } })
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@FieldResolver(type => Number)
|
|
41
|
+
async checklistItemCommentCount(@Root() checklistItem: ChecklistItem): Promise<number> {
|
|
42
|
+
return await getRepository(ChecklistItemComment).countBy({ checklistItem: { id: checklistItem.id } })
|
|
43
|
+
}
|
|
44
|
+
|
|
34
45
|
@FieldResolver(type => User)
|
|
35
46
|
async updater(@Root() checklistItem: ChecklistItem): Promise<User> {
|
|
36
47
|
return await getRepository(User).findOneBy({ id: checklistItem.updaterId })
|
|
@@ -7,12 +7,14 @@ import {
|
|
|
7
7
|
Column,
|
|
8
8
|
RelationId,
|
|
9
9
|
ManyToOne,
|
|
10
|
+
OneToMany,
|
|
10
11
|
PrimaryGeneratedColumn
|
|
11
12
|
} from 'typeorm'
|
|
12
13
|
import { ObjectType, Field, ID, Int, registerEnumType } from 'type-graphql'
|
|
13
14
|
|
|
14
15
|
import { User } from '@things-factory/auth-base'
|
|
15
16
|
import { Checklist } from '../checklist/checklist'
|
|
17
|
+
import { ChecklistItemComment } from '../checklist-item-comment/checklist-item-comment'
|
|
16
18
|
|
|
17
19
|
export enum ChecklistItemConfirmStatus {
|
|
18
20
|
T = '적합',
|
|
@@ -60,9 +62,10 @@ export class ChecklistItem {
|
|
|
60
62
|
@Field({ nullable: true })
|
|
61
63
|
supervisoryConfirmStatus?: ChecklistItemConfirmStatus
|
|
62
64
|
|
|
63
|
-
|
|
64
|
-
@
|
|
65
|
-
|
|
65
|
+
// 조치 사항 정보 (하위 테이블 참조)
|
|
66
|
+
@OneToMany(() => ChecklistItemComment, checklistItemComment => checklistItemComment.checklistItem)
|
|
67
|
+
@Field(() => [ChecklistItemComment])
|
|
68
|
+
checklistItemComments?: ChecklistItemComment[]
|
|
66
69
|
|
|
67
70
|
// 체크리스트 정보 (상위 테이블 참조)
|
|
68
71
|
@ManyToOne(type => Checklist)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Field, ID, ObjectType } from 'type-graphql'
|
|
2
|
+
import { Column, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId } from 'typeorm'
|
|
3
|
+
import { HistoryActionColumn, HistoryActionType, HistoryEntityInterface, HistoryOriginalIdColumn } from '@operato/typeorm-history'
|
|
4
|
+
import { User } from '@things-factory/auth-base'
|
|
5
|
+
import { config } from '@things-factory/env'
|
|
6
|
+
import { ChecklistItemComment } from './checklist-item-comment'
|
|
7
|
+
import { ChecklistItem } from '../checklist-item/checklist-item'
|
|
8
|
+
|
|
9
|
+
const ORMCONFIG = config.get('ormconfig', {})
|
|
10
|
+
const DATABASE_TYPE = ORMCONFIG.type
|
|
11
|
+
|
|
12
|
+
@Entity()
|
|
13
|
+
@Index('ix_checklist-item-comment_history_0', (checklistItemCommentHistory: ChecklistItemCommentHistory) => [
|
|
14
|
+
checklistItemCommentHistory.originalId
|
|
15
|
+
])
|
|
16
|
+
@Index('ix_checklist-item-comment_history_1', (checklistItemCommentHistory: ChecklistItemCommentHistory) => [
|
|
17
|
+
checklistItemCommentHistory.checklistItem
|
|
18
|
+
])
|
|
19
|
+
@ObjectType({ description: 'History Entity of ChecklistItemComment' })
|
|
20
|
+
export class ChecklistItemCommentHistory implements HistoryEntityInterface<ChecklistItemComment> {
|
|
21
|
+
@PrimaryGeneratedColumn('uuid')
|
|
22
|
+
@Field(type => ID)
|
|
23
|
+
readonly id: string
|
|
24
|
+
|
|
25
|
+
@Column({ nullable: true, comment: '조치 사항 코멘트' })
|
|
26
|
+
@Field({ nullable: true })
|
|
27
|
+
comment?: string
|
|
28
|
+
|
|
29
|
+
// 체크리스트 아이템 정보 (상위 테이블 참조)
|
|
30
|
+
@ManyToOne(type => ChecklistItem)
|
|
31
|
+
@Field(type => ChecklistItem, { nullable: true })
|
|
32
|
+
checklistItem?: ChecklistItem
|
|
33
|
+
|
|
34
|
+
@RelationId((checklistItemComment: ChecklistItemComment) => checklistItemComment.checklistItem)
|
|
35
|
+
checklistItemId?: string
|
|
36
|
+
|
|
37
|
+
@Column({ nullable: true })
|
|
38
|
+
@Field({ nullable: true })
|
|
39
|
+
createdAt?: Date
|
|
40
|
+
|
|
41
|
+
@Column({ nullable: true })
|
|
42
|
+
@Field({ nullable: true })
|
|
43
|
+
deletedAt?: Date
|
|
44
|
+
|
|
45
|
+
@ManyToOne(type => User, { nullable: true })
|
|
46
|
+
@Field(type => User, { nullable: true })
|
|
47
|
+
creator?: User
|
|
48
|
+
|
|
49
|
+
@RelationId((checklistItemComment: ChecklistItemComment) => checklistItemComment.creator)
|
|
50
|
+
creatorId?: string
|
|
51
|
+
|
|
52
|
+
@HistoryOriginalIdColumn()
|
|
53
|
+
public originalId!: string
|
|
54
|
+
|
|
55
|
+
@HistoryActionColumn({
|
|
56
|
+
nullable: false,
|
|
57
|
+
type:
|
|
58
|
+
DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
|
|
59
|
+
? 'enum'
|
|
60
|
+
: DATABASE_TYPE == 'oracle'
|
|
61
|
+
? 'varchar2'
|
|
62
|
+
: DATABASE_TYPE == 'mssql'
|
|
63
|
+
? 'nvarchar'
|
|
64
|
+
: 'varchar',
|
|
65
|
+
enum: DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? HistoryActionType : undefined,
|
|
66
|
+
length: DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb' ? undefined : 32
|
|
67
|
+
})
|
|
68
|
+
public action!: HistoryActionType
|
|
69
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'
|
|
2
|
+
import { getRepository } from '@things-factory/shell'
|
|
3
|
+
import { ChecklistItemComment } from './checklist-item-comment'
|
|
4
|
+
import { NewChecklistItemComment, ChecklistItemCommentPatch } from './checklist-item-comment-type'
|
|
5
|
+
|
|
6
|
+
@Resolver(ChecklistItemComment)
|
|
7
|
+
export class ChecklistItemCommentMutation {
|
|
8
|
+
@Directive('@transaction')
|
|
9
|
+
@Mutation(returns => ChecklistItemComment, { description: 'To create new ChecklistItemComment' })
|
|
10
|
+
async createChecklistItemComment(
|
|
11
|
+
@Arg('checklistItemComment') checklistItemComment: NewChecklistItemComment,
|
|
12
|
+
@Ctx() context: ResolverContext
|
|
13
|
+
): Promise<ChecklistItemComment> {
|
|
14
|
+
const { user, tx } = context.state
|
|
15
|
+
const { comment, checklistItemId } = checklistItemComment
|
|
16
|
+
|
|
17
|
+
const result = await getRepository(ChecklistItemComment, tx).save({
|
|
18
|
+
comment,
|
|
19
|
+
checklistItem: { id: checklistItemId },
|
|
20
|
+
createdAt: new Date(),
|
|
21
|
+
creator: user,
|
|
22
|
+
updater: user
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
return result
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@Directive('@transaction')
|
|
29
|
+
@Mutation(returns => ChecklistItemComment, { description: 'To modify ChecklistItemComment information' })
|
|
30
|
+
async updateChecklistItemComment(
|
|
31
|
+
@Arg('id') id: string,
|
|
32
|
+
@Arg('patch') patch: ChecklistItemCommentPatch,
|
|
33
|
+
@Ctx() context: ResolverContext
|
|
34
|
+
): Promise<ChecklistItemComment> {
|
|
35
|
+
const { user, tx } = context.state
|
|
36
|
+
|
|
37
|
+
const repository = getRepository(ChecklistItemComment, tx)
|
|
38
|
+
const checklistItemComment = await repository.findOne({
|
|
39
|
+
where: { id }
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
const result = await repository.save({
|
|
43
|
+
...checklistItemComment,
|
|
44
|
+
...patch,
|
|
45
|
+
updater: user
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
return result
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@Directive('@transaction')
|
|
52
|
+
@Mutation(returns => Boolean, { description: 'To delete ChecklistItemComment' })
|
|
53
|
+
async deleteChecklistItemComment(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
|
54
|
+
const { tx } = context.state
|
|
55
|
+
|
|
56
|
+
await getRepository(ChecklistItemComment, tx).softDelete({ id })
|
|
57
|
+
|
|
58
|
+
return true
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Resolver, Query, FieldResolver, Root, Arg, Ctx } from 'type-graphql'
|
|
2
|
+
import { getRepository, Pagination } from '@things-factory/shell'
|
|
3
|
+
import { User } from '@things-factory/auth-base'
|
|
4
|
+
import { ChecklistItemComment } from './checklist-item-comment'
|
|
5
|
+
|
|
6
|
+
@Resolver(ChecklistItemComment)
|
|
7
|
+
export class ChecklistItemCommentQuery {
|
|
8
|
+
@Query(returns => [ChecklistItemComment], { description: 'To fetch multiple ChecklistItemComments' })
|
|
9
|
+
async checklistItemComments(
|
|
10
|
+
@Arg('checklistItemId') checklistItemId: string,
|
|
11
|
+
@Arg('pagination') pagination: Pagination,
|
|
12
|
+
@Ctx() context: ResolverContext
|
|
13
|
+
): Promise<ChecklistItemComment[]> {
|
|
14
|
+
const { limit, page } = pagination
|
|
15
|
+
|
|
16
|
+
// 페이지네이션을 위한 offset 계산
|
|
17
|
+
const offset = (page - 1) * limit
|
|
18
|
+
|
|
19
|
+
// 코멘트와 총 개수를 가져오는 쿼리
|
|
20
|
+
const items = await getRepository(ChecklistItemComment)
|
|
21
|
+
.createQueryBuilder('cic')
|
|
22
|
+
.innerJoin('cic.checklistItem', 'ci')
|
|
23
|
+
.where('cic.checklistItem = :checklistItemId', { checklistItemId })
|
|
24
|
+
.skip(offset)
|
|
25
|
+
.take(limit)
|
|
26
|
+
.orderBy('cic.createdAt', 'DESC')
|
|
27
|
+
.getMany()
|
|
28
|
+
|
|
29
|
+
return items
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@FieldResolver(type => User)
|
|
33
|
+
async creator(@Root() checklistItemComment: ChecklistItemComment): Promise<User> {
|
|
34
|
+
return checklistItemComment.creatorId && (await getRepository(User).findOneBy({ id: checklistItemComment.creatorId }))
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'
|
|
2
|
+
import { ChecklistItemComment } from './checklist-item-comment'
|
|
3
|
+
|
|
4
|
+
@InputType()
|
|
5
|
+
export class NewChecklistItemComment {
|
|
6
|
+
@Field({ nullable: true })
|
|
7
|
+
comment?: string
|
|
8
|
+
|
|
9
|
+
@Field({ nullable: true })
|
|
10
|
+
checklistItemId?: string
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@InputType()
|
|
14
|
+
export class ChecklistItemCommentPatch {
|
|
15
|
+
@Field(type => ID, { nullable: true })
|
|
16
|
+
id?: string
|
|
17
|
+
|
|
18
|
+
@Field({ nullable: true })
|
|
19
|
+
comment?: string
|
|
20
|
+
|
|
21
|
+
@Field({ nullable: true })
|
|
22
|
+
checklistItemId?: string
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@ObjectType()
|
|
26
|
+
export class ChecklistItemCommentList {
|
|
27
|
+
@Field(type => [ChecklistItemComment])
|
|
28
|
+
items: ChecklistItemComment[]
|
|
29
|
+
|
|
30
|
+
@Field(type => Int)
|
|
31
|
+
total: number
|
|
32
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CreateDateColumn,
|
|
3
|
+
UpdateDateColumn,
|
|
4
|
+
DeleteDateColumn,
|
|
5
|
+
Entity,
|
|
6
|
+
Index,
|
|
7
|
+
Column,
|
|
8
|
+
RelationId,
|
|
9
|
+
ManyToOne,
|
|
10
|
+
PrimaryGeneratedColumn
|
|
11
|
+
} from 'typeorm'
|
|
12
|
+
import { ObjectType, Field, ID } from 'type-graphql'
|
|
13
|
+
import { User } from '@things-factory/auth-base'
|
|
14
|
+
import { ChecklistItem } from '../checklist-item/checklist-item'
|
|
15
|
+
|
|
16
|
+
@Entity()
|
|
17
|
+
@Index(
|
|
18
|
+
'ix_checklist_item_comment_0',
|
|
19
|
+
(checklistItemComment: ChecklistItemComment) => [checklistItemComment.checklistItem, checklistItemComment.createdAt],
|
|
20
|
+
{
|
|
21
|
+
where: '"deleted_at" IS NULL'
|
|
22
|
+
}
|
|
23
|
+
)
|
|
24
|
+
@ObjectType({ description: 'Entity for ChecklistItemComment' })
|
|
25
|
+
export class ChecklistItemComment {
|
|
26
|
+
@PrimaryGeneratedColumn('uuid')
|
|
27
|
+
@Field(type => ID)
|
|
28
|
+
readonly id: string
|
|
29
|
+
|
|
30
|
+
@Column({ nullable: true, comment: '조치 사항 코멘트' })
|
|
31
|
+
@Field({ nullable: true })
|
|
32
|
+
comment?: string
|
|
33
|
+
|
|
34
|
+
// 체크리스트 아이템 정보 (상위 테이블 참조)
|
|
35
|
+
@ManyToOne(type => ChecklistItem)
|
|
36
|
+
@Field(type => ChecklistItem, { nullable: true })
|
|
37
|
+
checklistItem?: ChecklistItem
|
|
38
|
+
|
|
39
|
+
@RelationId((checklistItemComment: ChecklistItemComment) => checklistItemComment.checklistItem)
|
|
40
|
+
checklistItemId?: string
|
|
41
|
+
|
|
42
|
+
@CreateDateColumn()
|
|
43
|
+
@Field({ nullable: true })
|
|
44
|
+
createdAt?: Date
|
|
45
|
+
|
|
46
|
+
@DeleteDateColumn()
|
|
47
|
+
@Field({ nullable: true })
|
|
48
|
+
deletedAt?: Date
|
|
49
|
+
|
|
50
|
+
@ManyToOne(type => User, { nullable: true })
|
|
51
|
+
@Field(type => User, { nullable: true })
|
|
52
|
+
creator?: User
|
|
53
|
+
|
|
54
|
+
@RelationId((checklistItemComment: ChecklistItemComment) => checklistItemComment.creator)
|
|
55
|
+
creatorId?: string
|
|
56
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EventSubscriber } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { HistoryEntitySubscriber } from '@operato/typeorm-history'
|
|
4
|
+
|
|
5
|
+
import { ChecklistItemComment } from './checklist-item-comment'
|
|
6
|
+
import { ChecklistItemCommentHistory } from './checklist-item-comment-history'
|
|
7
|
+
|
|
8
|
+
@EventSubscriber()
|
|
9
|
+
export class ChecklistItemCommentHistoryEntitySubscriber extends HistoryEntitySubscriber<ChecklistItemComment, ChecklistItemCommentHistory> {
|
|
10
|
+
public get entity() {
|
|
11
|
+
return ChecklistItemComment
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
public get historyEntity() {
|
|
15
|
+
return ChecklistItemCommentHistory
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ChecklistItemComment } from './checklist-item-comment'
|
|
2
|
+
import { ChecklistItemCommentHistory } from './checklist-item-comment-history'
|
|
3
|
+
import { ChecklistItemCommentHistoryEntitySubscriber } from './event-subscriber'
|
|
4
|
+
import { ChecklistItemCommentQuery } from './checklist-item-comment-query'
|
|
5
|
+
import { ChecklistItemCommentMutation } from './checklist-item-comment-mutation'
|
|
6
|
+
|
|
7
|
+
export const entities = [ChecklistItemComment, ChecklistItemCommentHistory]
|
|
8
|
+
export const resolvers = [ChecklistItemCommentQuery, ChecklistItemCommentMutation]
|
|
9
|
+
export const subscribers = [ChecklistItemCommentHistoryEntitySubscriber]
|
package/server/service/index.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from './supervisor/supervisor'
|
|
|
6
6
|
export * from './checklist-type/checklist-type'
|
|
7
7
|
export * from './checklist/checklist'
|
|
8
8
|
export * from './checklist-item/checklist-item'
|
|
9
|
+
export * from './checklist-item-comment/checklist-item-comment'
|
|
9
10
|
export * from './checklist-template/checklist-template'
|
|
10
11
|
export * from './checklist-template-item/checklist-template-item'
|
|
11
12
|
export * from './building-inspection/building-inspection'
|
|
@@ -29,6 +30,11 @@ import {
|
|
|
29
30
|
} from './supervisor'
|
|
30
31
|
import { entities as ChecklistEntities, resolvers as ChecklistResolvers, subscribers as ChecklistSubscribers } from './checklist'
|
|
31
32
|
import { entities as ChecklistItemEntities, resolvers as ChecklistItemResolvers } from './checklist-item'
|
|
33
|
+
import {
|
|
34
|
+
entities as ChecklistItemCommentEntities,
|
|
35
|
+
resolvers as ChecklistItemCommentResolvers,
|
|
36
|
+
subscribers as ChecklistItemCommentSubscribers
|
|
37
|
+
} from './checklist-item-comment'
|
|
32
38
|
import { entities as ChecklistTypeEntities, resolvers as ChecklistTypeResolvers } from './checklist-type'
|
|
33
39
|
import { entities as ChecklistTemplateEntities, resolvers as ChecklistTemplateResolvers } from './checklist-template'
|
|
34
40
|
import { entities as ChecklistTemplateItemEntities, resolvers as ChecklistTemplateItemResolvers } from './checklist-template-item'
|
|
@@ -46,6 +52,7 @@ export const entities = [
|
|
|
46
52
|
...SupervisorEntities,
|
|
47
53
|
...ChecklistEntities,
|
|
48
54
|
...ChecklistItemEntities,
|
|
55
|
+
...ChecklistItemCommentEntities,
|
|
49
56
|
...ChecklistTypeEntities,
|
|
50
57
|
...ChecklistTemplateItemEntities,
|
|
51
58
|
...ChecklistTemplateEntities,
|
|
@@ -59,7 +66,8 @@ export const subscribers = [
|
|
|
59
66
|
...ProjectReportSubscribers,
|
|
60
67
|
...SupervisorSubscribers,
|
|
61
68
|
...BuildingInspectionSubscribers,
|
|
62
|
-
...ChecklistSubscribers
|
|
69
|
+
...ChecklistSubscribers,
|
|
70
|
+
...ChecklistItemCommentSubscribers
|
|
63
71
|
]
|
|
64
72
|
|
|
65
73
|
export const schema = {
|
|
@@ -71,6 +79,7 @@ export const schema = {
|
|
|
71
79
|
...SupervisorResolvers,
|
|
72
80
|
...ChecklistResolvers,
|
|
73
81
|
...ChecklistItemResolvers,
|
|
82
|
+
...ChecklistItemCommentResolvers,
|
|
74
83
|
...ChecklistTypeResolvers,
|
|
75
84
|
...ChecklistTemplateItemResolvers,
|
|
76
85
|
...ChecklistTemplateResolvers,
|