Update ReactionService.ts
This commit is contained in:
		| @@ -5,7 +5,7 @@ | ||||
|  | ||||
| import { Inject, Injectable } from '@nestjs/common'; | ||||
| import { DI } from '@/di-symbols.js'; | ||||
| import type { EmojisRepository, NoteReactionsRepository, UsersRepository, NotesRepository } from '@/models/_.js'; | ||||
| import type { EmojisRepository, NoteReactionsRepository, UsersRepository, NotesRepository, MiMeta } from '@/models/_.js'; | ||||
| import { IdentifiableError } from '@/misc/identifiable-error.js'; | ||||
| import type { MiRemoteUser, MiUser } from '@/models/User.js'; | ||||
| import type { MiNote } from '@/models/Note.js'; | ||||
| @@ -20,7 +20,6 @@ import { ApDeliverManagerService } from '@/core/activitypub/ApDeliverManagerServ | ||||
| import { NoteEntityService } from '@/core/entities/NoteEntityService.js'; | ||||
| import { UserEntityService } from '@/core/entities/UserEntityService.js'; | ||||
| import { ApRendererService } from '@/core/activitypub/ApRendererService.js'; | ||||
| import { MetaService } from '@/core/MetaService.js'; | ||||
| import { bindThis } from '@/decorators.js'; | ||||
| import { UtilityService } from '@/core/UtilityService.js'; | ||||
| import { UserBlockingService } from '@/core/UserBlockingService.js'; | ||||
| @@ -71,6 +70,9 @@ const decodeCustomEmojiRegexp = /^:([\w+-]+)(?:@([\w.-]+))?:$/; | ||||
| @Injectable() | ||||
| export class ReactionService { | ||||
| 	constructor( | ||||
| 		@Inject(DI.meta) | ||||
| 		private meta: MiMeta, | ||||
|  | ||||
| 		@Inject(DI.usersRepository) | ||||
| 		private usersRepository: UsersRepository, | ||||
|  | ||||
| @@ -84,7 +86,6 @@ export class ReactionService { | ||||
| 		private emojisRepository: EmojisRepository, | ||||
|  | ||||
| 		private utilityService: UtilityService, | ||||
| 		private metaService: MetaService, | ||||
| 		private customEmojiService: CustomEmojiService, | ||||
| 		private roleService: RoleService, | ||||
| 		private userEntityService: UserEntityService, | ||||
| @@ -103,8 +104,6 @@ export class ReactionService { | ||||
|  | ||||
| 	@bindThis | ||||
| 	public async create(user: { id: MiUser['id']; host: MiUser['host']; isBot: MiUser['isBot'] }, note: MiNote, _reaction?: string | null) { | ||||
| 		const meta = await this.metaService.fetch(); | ||||
|  | ||||
| 		// Check blocking | ||||
| 		if (note.userId !== user.id) { | ||||
| 			const blocked = await this.userBlockingService.checkBlocked(note.userId, user.id); | ||||
| @@ -150,7 +149,7 @@ export class ReactionService { | ||||
| 						} | ||||
|  | ||||
| 						// for media silenced host, custom emoji reactions are not allowed | ||||
| 						if (reacterHost != null && this.utilityService.isMediaSilencedHost(meta.mediaSilencedHosts, reacterHost)) { | ||||
| 						if (reacterHost != null && this.utilityService.isMediaSilencedHost(this.meta.mediaSilencedHosts, reacterHost)) { | ||||
| 							reaction = FALLBACK; | ||||
| 						} | ||||
| 					} else { | ||||
| @@ -195,7 +194,7 @@ export class ReactionService { | ||||
| 		} | ||||
|  | ||||
| 		// Increment reactions count | ||||
| 		if (meta.enableReactionsBuffering) { | ||||
| 		if (this.meta.enableReactionsBuffering) { | ||||
| 			await this.reactionsBufferingService.create(note.id, user.id, reaction, note.reactionAndUserPairCache); | ||||
| 		} else { | ||||
| 			const sql = `jsonb_set("reactions", '{${reaction}}', (COALESCE("reactions"->>'${reaction}', '0')::int + 1)::text::jsonb)`; | ||||
| @@ -228,7 +227,7 @@ export class ReactionService { | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		if (meta.enableChartsForRemoteUser || (user.host == null)) { | ||||
| 		if (this.meta.enableChartsForRemoteUser || (user.host == null)) { | ||||
| 			this.perUserReactionsChart.update(user, note); | ||||
| 		} | ||||
|  | ||||
| @@ -305,10 +304,8 @@ export class ReactionService { | ||||
| 			throw new IdentifiableError('60527ec9-b4cb-4a88-a6bd-32d3ad26817d', 'not reacted'); | ||||
| 		} | ||||
|  | ||||
| 		const meta = await this.metaService.fetch(); | ||||
|  | ||||
| 		// Decrement reactions count | ||||
| 		if (meta.enableReactionsBuffering) { | ||||
| 		if (this.meta.enableReactionsBuffering) { | ||||
| 			await this.reactionsBufferingService.delete(note.id, user.id, exist.reaction); | ||||
| 		} else { | ||||
| 			const sql = `jsonb_set("reactions", '{${exist.reaction}}', (COALESCE("reactions"->>'${exist.reaction}', '0')::int - 1)::text::jsonb)`; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 syuilo
					syuilo