Skip to content

Commit 37e6e96

Browse files
Tolerblancsummersummerwhyezcolin2
committed
feat: 페이지 이모지 수정 로직 추가
Co-authored-by: Summer Min <[email protected]> Co-authored-by: ez <[email protected]>
1 parent 6e6e944 commit 37e6e96

File tree

2 files changed

+58
-5
lines changed

2 files changed

+58
-5
lines changed

apps/backend/src/redis/redis.service.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ const RED_LOCK_TOKEN = 'RED_LOCK';
88
type RedisPage = {
99
title?: string;
1010
content?: string;
11+
emoji?: string;
1112
};
1213

1314
@Injectable()

apps/backend/src/tasks/tasks.service.ts

Lines changed: 57 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,46 @@ import { DataSource } from 'typeorm';
55
import { InjectDataSource } from '@nestjs/typeorm';
66
import { 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()
949
export 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

Comments
 (0)