This commit is contained in:
かっこかり 2025-05-04 12:57:46 +00:00 committed by GitHub
commit d6a60f7bc8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 0 deletions

View File

@ -12,6 +12,7 @@ import { IdService } from '@/core/IdService.js';
import type { MiHashtag } from '@/models/Hashtag.js'; import type { MiHashtag } from '@/models/Hashtag.js';
import type { HashtagsRepository, MiMeta } from '@/models/_.js'; import type { HashtagsRepository, MiMeta } from '@/models/_.js';
import { UserEntityService } from '@/core/entities/UserEntityService.js'; import { UserEntityService } from '@/core/entities/UserEntityService.js';
import { RoleService } from '@/core/RoleService.js';
import { bindThis } from '@/decorators.js'; import { bindThis } from '@/decorators.js';
import { FeaturedService } from '@/core/FeaturedService.js'; import { FeaturedService } from '@/core/FeaturedService.js';
import { UtilityService } from '@/core/UtilityService.js'; import { UtilityService } from '@/core/UtilityService.js';
@ -29,6 +30,7 @@ export class HashtagService {
private hashtagsRepository: HashtagsRepository, private hashtagsRepository: HashtagsRepository,
private userEntityService: UserEntityService, private userEntityService: UserEntityService,
private roleService: RoleService,
private featuredService: FeaturedService, private featuredService: FeaturedService,
private idService: IdService, private idService: IdService,
private utilityService: UtilityService, private utilityService: UtilityService,
@ -173,6 +175,9 @@ export class HashtagService {
const exist = await this.redisClient.sismember(`hashtagUsers:${hashtag}`, userId); const exist = await this.redisClient.sismember(`hashtagUsers:${hashtag}`, userId);
if (exist === 1) return; if (exist === 1) return;
const isSilenced = !(await this.roleService.getUserPolicies(userId)).canPublicNote;
if (isSilenced) return;
this.featuredService.updateHashtagsRanking(hashtag, 1); this.featuredService.updateHashtagsRanking(hashtag, 1);
const redisPipeline = this.redisClient.pipeline(); const redisPipeline = this.redisClient.pipeline();