summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-10-07 14:05:58 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-10-07 14:05:58 +0900
commitdc435fb8eefdbfc1260f5fd0b8aea51ddaca2b59 (patch)
treef1c0b166ae3f8439950b25f33332ca79e58796bc /packages
parentenhance(backend): notes/global-timeline復活 (diff)
downloadsharkey-dc435fb8eefdbfc1260f5fd0b8aea51ddaca2b59.tar.gz
sharkey-dc435fb8eefdbfc1260f5fd0b8aea51ddaca2b59.tar.bz2
sharkey-dc435fb8eefdbfc1260f5fd0b8aea51ddaca2b59.zip
enhance(backend): tweak hashtag trend
Diffstat (limited to 'packages')
-rw-r--r--packages/backend/src/core/HashtagService.ts7
-rw-r--r--packages/backend/src/server/api/endpoints/hashtags/trend.ts6
2 files changed, 5 insertions, 8 deletions
diff --git a/packages/backend/src/core/HashtagService.ts b/packages/backend/src/core/HashtagService.ts
index 4900fa90a1..1a06767da8 100644
--- a/packages/backend/src/core/HashtagService.ts
+++ b/packages/backend/src/core/HashtagService.ts
@@ -5,7 +5,6 @@
import { Inject, Injectable } from '@nestjs/common';
import * as Redis from 'ioredis';
-import { getLineAndCharacterOfPosition } from 'typescript';
import { DI } from '@/di-symbols.js';
import type { MiUser } from '@/models/User.js';
import { normalizeForSearch } from '@/misc/normalize-for-search.js';
@@ -15,6 +14,7 @@ import type { HashtagsRepository } from '@/models/_.js';
import { UserEntityService } from '@/core/entities/UserEntityService.js';
import { bindThis } from '@/decorators.js';
import { FeaturedService } from '@/core/FeaturedService.js';
+import { MetaService } from '@/core/MetaService.js';
@Injectable()
export class HashtagService {
@@ -28,6 +28,7 @@ export class HashtagService {
private userEntityService: UserEntityService,
private featuredService: FeaturedService,
private idService: IdService,
+ private metaService: MetaService,
) {
}
@@ -157,7 +158,9 @@ export class HashtagService {
@bindThis
public async updateHashtagsRanking(hashtag: string, userId: MiUser['id']): Promise<void> {
- // TODO: instance.hiddenTagsの考慮
+ const instance = await this.metaService.fetch();
+ const hiddenTags = instance.hiddenTags.map(t => normalizeForSearch(t));
+ if (hiddenTags.includes(hashtag)) return;
// YYYYMMDDHHmm (10分間隔)
const now = new Date();
diff --git a/packages/backend/src/server/api/endpoints/hashtags/trend.ts b/packages/backend/src/server/api/endpoints/hashtags/trend.ts
index a69e007a40..8f382eb96b 100644
--- a/packages/backend/src/server/api/endpoints/hashtags/trend.ts
+++ b/packages/backend/src/server/api/endpoints/hashtags/trend.ts
@@ -5,8 +5,6 @@
import { Inject, Injectable } from '@nestjs/common';
import { Endpoint } from '@/server/api/endpoint-base.js';
-import { normalizeForSearch } from '@/misc/normalize-for-search.js';
-import { MetaService } from '@/core/MetaService.js';
import { DI } from '@/di-symbols.js';
import { FeaturedService } from '@/core/FeaturedService.js';
import { HashtagService } from '@/core/HashtagService.js';
@@ -55,14 +53,10 @@ export const paramDef = {
@Injectable()
export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-disable-line import/no-default-export
constructor(
- private metaService: MetaService,
private featuredService: FeaturedService,
private hashtagService: HashtagService,
) {
super(meta, paramDef, async () => {
- const instance = await this.metaService.fetch(true);
- const hiddenTags = instance.hiddenTags.map(t => normalizeForSearch(t));
-
const ranking = await this.featuredService.getHashtagsRanking(10);
const charts = ranking.length === 0 ? {} : await this.hashtagService.getCharts(ranking, 20);