@@ -5,6 +5,46 @@ import { DataSource } from 'typeorm';
55import { InjectDataSource } from '@nestjs/typeorm' ;
66import { Page } from 'src/page/page.entity' ;
77
8+ /**
9+ TODO Coordinate
10+ this.redisService.setField(`node:${findPage.node.id}`, 'x', x);
11+ this.redisService.setField(`node:${findPage.node.id}`, 'y', y);
12+
13+ TODO AddEdge
14+ this.redisService.setField(
15+ `edge:${edge.source}-${edge.target}`,
16+ 'fromNode',
17+ edge.source,
18+ );
19+ this.redisService.setField(
20+ `edge:${edge.source}-${edge.target}`,
21+ 'toNode',
22+ edge.target,
23+ );
24+ this.redisService.setField(
25+ `edge:${edge.source}-${edge.target}`,
26+ 'type',
27+ 'add',
28+ );
29+
30+ TODO DeleteEdge
31+ this.redisService.setField(
32+ `edge:${edge.source}-${edge.target}`,
33+ 'fromNode',
34+ edge.source,
35+ );
36+ this.redisService.setField(
37+ `edge:${edge.source}-${edge.target}`,
38+ 'toNode',
39+ edge.target,
40+ );
41+ this.redisService.setField(
42+ `edge:${edge.source}-${edge.target}`,
43+ 'type',
44+ 'delete',
45+ );
46+ */
47+
848@Injectable ( )
949export class TasksService {
1050 private readonly logger = new Logger ( TasksService . name ) ;
@@ -28,12 +68,17 @@ export class TasksService {
2868 throw new Error ( `redis에 ${ key } 에 해당하는 데이터가 없습니다.` ) ;
2969 }
3070
31- const { title, content } = redisData ;
71+ const { title, content, emoji } = redisData ;
3272
33- const updateData : Partial < { title : string ; content : any } > = { } ;
73+ const updateData : Partial < {
74+ title : string ;
75+ content : any ;
76+ emoji : string ;
77+ } > = { } ;
3478
3579 if ( title ) updateData . title = title ;
3680 if ( content ) updateData . content = JSON . parse ( content ) ;
81+ if ( emoji ) updateData . emoji = emoji ;
3782
3883 // 업데이트 대상이 없다면 리턴
3984 if ( Object . keys ( updateData ) . length === 0 ) return ;
@@ -56,7 +101,10 @@ export class TasksService {
56101 } ) ;
57102 }
58103
59- async migrate ( key : string , updateData :Partial < { title : string ; content : any } > ) {
104+ async migrate (
105+ key : string ,
106+ updateData : Partial < { title : string ; content : any ; emoji : string } > ,
107+ ) {
60108 const pageId = parseInt ( key . split ( ':' ) [ 1 ] ) ;
61109
62110 // 트랜잭션 시작
@@ -79,8 +127,12 @@ export class TasksService {
79127 // 실패하면 postgres는 roll back하고 redis의 값을 살린다.
80128 this . logger . error ( err . stack ) ;
81129 await queryRunner . rollbackTransaction ( ) ;
82- updateData . title && ( await this . redisService . setField ( key , 'title' , updateData . title ) ) ;
83- updateData . content && ( await this . redisService . setField ( key , 'content' , updateData . content ) ) ;
130+ updateData . title &&
131+ ( await this . redisService . setField ( key , 'title' , updateData . title ) ) ;
132+ updateData . content &&
133+ ( await this . redisService . setField ( key , 'content' , updateData . content ) ) ;
134+ updateData . emoji &&
135+ ( await this . redisService . setField ( key , 'emoji' , updateData . emoji ) ) ;
84136
85137 // Promise.all에서 실패를 인식하기 위해 에러를 던진다.
86138 throw err ;
0 commit comments