summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-02-04 12:40:40 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-02-04 12:40:40 +0900
commit0c12e8010606ecb54b9d0167786d446e660de9c8 (patch)
tree9adb2f04c27b2839ece9bc6ec74bd43c6251eaca /packages/backend/src/server/api/endpoints
parentfix typo (diff)
downloadsharkey-0c12e8010606ecb54b9d0167786d446e660de9c8.tar.gz
sharkey-0c12e8010606ecb54b9d0167786d446e660de9c8.tar.bz2
sharkey-0c12e8010606ecb54b9d0167786d446e660de9c8.zip
perf(server): cache blocking
Diffstat (limited to 'packages/backend/src/server/api/endpoints')
-rw-r--r--packages/backend/src/server/api/endpoints/notes/polls/vote.ts14
1 files changed, 5 insertions, 9 deletions
diff --git a/packages/backend/src/server/api/endpoints/notes/polls/vote.ts b/packages/backend/src/server/api/endpoints/notes/polls/vote.ts
index d583dfb936..befaea4664 100644
--- a/packages/backend/src/server/api/endpoints/notes/polls/vote.ts
+++ b/packages/backend/src/server/api/endpoints/notes/polls/vote.ts
@@ -1,6 +1,6 @@
import { Not } from 'typeorm';
import { Inject, Injectable } from '@nestjs/common';
-import type { UsersRepository, BlockingsRepository, PollsRepository, PollVotesRepository } from '@/models/index.js';
+import type { UsersRepository, PollsRepository, PollVotesRepository } from '@/models/index.js';
import type { IRemoteUser } from '@/models/entities/User.js';
import { IdService } from '@/core/IdService.js';
import { Endpoint } from '@/server/api/endpoint-base.js';
@@ -11,6 +11,7 @@ import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
import { GlobalEventService } from '@/core/GlobalEventService.js';
import { CreateNotificationService } from '@/core/CreateNotificationService.js';
import { DI } from '@/di-symbols.js';
+import { UserBlockingService } from '@/core/UserBlockingService.js';
import { ApiError } from '../../../error.js';
export const meta = {
@@ -77,9 +78,6 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
@Inject(DI.usersRepository)
private usersRepository: UsersRepository,
- @Inject(DI.blockingsRepository)
- private blockingsRepository: BlockingsRepository,
-
@Inject(DI.pollsRepository)
private pollsRepository: PollsRepository,
@@ -93,6 +91,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
private apRendererService: ApRendererService,
private globalEventService: GlobalEventService,
private createNotificationService: CreateNotificationService,
+ private userBlockingService: UserBlockingService,
) {
super(meta, paramDef, async (ps, me) => {
const createdAt = new Date();
@@ -109,11 +108,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
// Check blocking
if (note.userId !== me.id) {
- const block = await this.blockingsRepository.findOneBy({
- blockerId: note.userId,
- blockeeId: me.id,
- });
- if (block) {
+ const blocked = await this.userBlockingService.checkBlocked(note.userId, me.id);
+ if (blocked) {
throw new ApiError(meta.errors.youHaveBeenBlocked);
}
}