diff options
| author | anatawa12 <anatawa12@icloud.com> | 2023-12-21 11:34:19 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-21 11:34:19 +0900 |
| commit | b2254a66d32bf553a16af3b584e6c5a69e64efc4 (patch) | |
| tree | c5ff3094887fa5f6d04295ae592148dd2aa3b82b /packages/backend/src/core/FeaturedService.ts | |
| parent | Update CHANGELOG.md (diff) | |
| download | misskey-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.ts | 16 |
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); + } } |