summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/FeaturedService.ts
diff options
context:
space:
mode:
authoranatawa12 <anatawa12@icloud.com>2023-12-21 11:34:19 +0900
committerGitHub <noreply@github.com>2023-12-21 11:34:19 +0900
commitb2254a66d32bf553a16af3b584e6c5a69e64efc4 (patch)
treec5ff3094887fa5f6d04295ae592148dd2aa3b82b /packages/backend/src/core/FeaturedService.ts
parentUpdate CHANGELOG.md (diff)
downloadmisskey-b2254a66d32bf553a16af3b584e6c5a69e64efc4.tar.gz
misskey-b2254a66d32bf553a16af3b584e6c5a69e64efc4.tar.bz2
misskey-b2254a66d32bf553a16af3b584e6c5a69e64efc4.zip
chore: remove hashtag from featured immediately (#12668)
* chore: remove hashtag from featured immediately * docs(changelog): ハッシュタグのトレンド除外設定が即時に効果を持つように修正 --------- Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Diffstat (limited to 'packages/backend/src/core/FeaturedService.ts')
-rw-r--r--packages/backend/src/core/FeaturedService.ts16
1 files changed, 16 insertions, 0 deletions
diff --git a/packages/backend/src/core/FeaturedService.ts b/packages/backend/src/core/FeaturedService.ts
index d970ffa43b..595383c82c 100644
--- a/packages/backend/src/core/FeaturedService.ts
+++ b/packages/backend/src/core/FeaturedService.ts
@@ -78,6 +78,17 @@ export class FeaturedService {
}
@bindThis
+ private async removeFromRanking(name: string, windowRange: number, element: string): Promise<void> {
+ const currentWindow = this.getCurrentWindow(windowRange);
+ const previousWindow = currentWindow - 1;
+
+ const redisPipeline = this.redisClient.pipeline();
+ redisPipeline.zrem(`${name}:${currentWindow}`, element);
+ redisPipeline.zrem(`${name}:${previousWindow}`, element);
+ await redisPipeline.exec();
+ }
+
+ @bindThis
public updateGlobalNotesRanking(noteId: MiNote['id'], score = 1): Promise<void> {
return this.updateRankingOf('featuredGlobalNotesRanking', GLOBAL_NOTES_RANKING_WINDOW, noteId, score);
}
@@ -126,4 +137,9 @@ export class FeaturedService {
public getHashtagsRanking(threshold: number): Promise<string[]> {
return this.getRankingOf('featuredHashtagsRanking', HASHTAG_RANKING_WINDOW, threshold);
}
+
+ @bindThis
+ public removeHashtagsFromRanking(hashtag: string): Promise<void> {
+ return this.removeFromRanking('featuredHashtagsRanking', HASHTAG_RANKING_WINDOW, hashtag);
+ }
}