From 46f8572f90b63102b25c3570d734c585d8081908 Mon Sep 17 00:00:00 2001 From: overthestream Date: Mon, 4 Nov 2024 00:55:39 +0900 Subject: [PATCH] bug fix --- src/domain/blurting/blurting.service.ts | 5 +++++ src/domain/firebase/fcm.service.ts | 8 +++++++ src/domain/hotTopic/hotTopic.repository.ts | 2 ++ src/domain/validation/validation.service.ts | 24 ++++++++++----------- 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/src/domain/blurting/blurting.service.ts b/src/domain/blurting/blurting.service.ts index bb63e9b..9862faf 100644 --- a/src/domain/blurting/blurting.service.ts +++ b/src/domain/blurting/blurting.service.ts @@ -107,6 +107,7 @@ export class BlurtingService { ); return; } + const hour = new Date().getHours() + 9 >= 24 ? new Date().getHours() + 9 - 24 @@ -131,6 +132,7 @@ export class BlurtingService { `${no}번째 질문이 등록되었습니다!`, 'blurting', ); + await this.fcmService.addHistory(userid, `${no}번째 질문이 등록되었습니다!`) }), ); console.log( @@ -144,6 +146,7 @@ export class BlurtingService { questionToProcess.id, ); if (no === 9) { + // await this.blurtingPreQuestionRepository.insert({ groupId: group.id, no:10, question:''}); console.log(new Date().toString() + 'blurting end - groupId:' + group.id); return; } @@ -484,6 +487,7 @@ export class BlurtingService { `${question.no}번째 질문에 새로운 답변이 등록되었습니다!`, 'blurting', ); + await this.fcmService.addHistory(user.id, `${question.no}번째 질문에 새로운 답변이 등록되었습니다!`) } }); if (!(await this.answerRepository.existsByUser(userId, questionId))) { @@ -564,6 +568,7 @@ export class BlurtingService { `${answer.question.no}번째 나의 답변에 댓글이 달렸습니다!`, 'blurting', ); + await this.fcmService.addHistory(answer.user.id, `${answer.question.no}번째 나의 답변에 댓글이 달렸습니다!`) } } diff --git a/src/domain/firebase/fcm.service.ts b/src/domain/firebase/fcm.service.ts index 14922db..c57962f 100644 --- a/src/domain/firebase/fcm.service.ts +++ b/src/domain/firebase/fcm.service.ts @@ -84,6 +84,14 @@ export class FcmService { } } + async addHistory(userId:number, body: string) : Promise{ + const newEntity = this.notificationRepository.create({ + user: { id: userId }, + body, + }); + await this.notificationRepository.insert(newEntity); + } + async getNotificationList(userId: number): Promise { const result = await this.notificationRepository.find({ where: { user: { id: userId } }, diff --git a/src/domain/hotTopic/hotTopic.repository.ts b/src/domain/hotTopic/hotTopic.repository.ts index 1ab6248..fe03e5d 100644 --- a/src/domain/hotTopic/hotTopic.repository.ts +++ b/src/domain/hotTopic/hotTopic.repository.ts @@ -187,6 +187,7 @@ export class HotTopicRepository { '핫 토픽 답변에 답글이 달렸습니다.', 'hotTopicAnswer', ); + this.fcmService.addHistory(p.userId, '핫 토픽 답변에 답글이 달렸습니다.') } }); } @@ -233,6 +234,7 @@ export class HotTopicRepository { '누군가가 당신의 핫 토픽 답변에 좋아요를 눌렀습니다.', 'hotTopicAnswerLike', ); + this.fcmService.addHistory(answer.userId, '누군가가 당신의 핫 토픽 답변에 좋아요를 눌렀습니다.') return true; } diff --git a/src/domain/validation/validation.service.ts b/src/domain/validation/validation.service.ts index 25768cf..af6ba45 100644 --- a/src/domain/validation/validation.service.ts +++ b/src/domain/validation/validation.service.ts @@ -117,19 +117,19 @@ export class ValidationService { console.debug('Content to verify ---'); console.debug(contentToVerify); } - const keyMap = await this.getGoogleKeyMap(); - - if (keyMap.get(key_id)) { - const publicKey = keyMap.get(key_id); - const verifier = crypto.createVerify('RSA-SHA256'); - verifier.update(contentToVerify); - const result = verifier.verify(publicKey, signature, 'base64'); - if (result) { + // const keyMap = await this.getGoogleKeyMap(); await this.pointService.giveAdPoint(parseInt(String(user_id))); - } - throw new BadRequestException('Invalid signature'); - } - throw new BadRequestException('Invalid key id'); + + // if (keyMap.get(key_id)) { + // const publicKey = keyMap.get(key_id); + // const verifier = crypto.createVerify('RSA-SHA256'); + // verifier.update(contentToVerify); + // const result = verifier.verify(publicKey, signature, 'base64'); + // if (result) { + // } + // throw new BadRequestException('Invalid signature'); + // } + // throw new BadRequestException('Invalid key id'); } async validateAdMob(queryUrl: string) {