summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/UserFollowingService.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-04-13 12:18:07 +0900
committerGitHub <noreply@github.com>2023-04-13 12:18:07 +0900
commitc5d2dba28d1e99f9c152840ca7f47e8f51c7423b (patch)
tree8d4b388039b3f936e7dfb8914efa827bf026b110 /packages/backend/src/core/UserFollowingService.ts
parentMerge pull request #10606 from misskey-dev/EbiseLutica-patch-1 (diff)
parent[ci skip] improve readability (diff)
downloadmisskey-c5d2dba28d1e99f9c152840ca7f47e8f51c7423b.tar.gz
misskey-c5d2dba28d1e99f9c152840ca7f47e8f51c7423b.tar.bz2
misskey-c5d2dba28d1e99f9c152840ca7f47e8f51c7423b.zip
Merge pull request #10608 from misskey-dev/develop
Release: 13.11.3
Diffstat (limited to 'packages/backend/src/core/UserFollowingService.ts')
-rw-r--r--packages/backend/src/core/UserFollowingService.ts15
1 files changed, 10 insertions, 5 deletions
diff --git a/packages/backend/src/core/UserFollowingService.ts b/packages/backend/src/core/UserFollowingService.ts
index d7bb8f3920..a8eded6733 100644
--- a/packages/backend/src/core/UserFollowingService.ts
+++ b/packages/backend/src/core/UserFollowingService.ts
@@ -20,6 +20,7 @@ import { bindThis } from '@/decorators.js';
import { UserBlockingService } from '@/core/UserBlockingService.js';
import { MetaService } from '@/core/MetaService.js';
import { CacheService } from '@/core/CacheService.js';
+import type { Config } from '@/config.js';
import Logger from '../logger.js';
const logger = new Logger('following/create');
@@ -43,7 +44,10 @@ export class UserFollowingService implements OnModuleInit {
constructor(
private moduleRef: ModuleRef,
-
+
+ @Inject(DI.config)
+ private config: Config,
+
@Inject(DI.usersRepository)
private usersRepository: UsersRepository,
@@ -79,7 +83,7 @@ export class UserFollowingService implements OnModuleInit {
}
@bindThis
- public async follow(_follower: { id: User['id'] }, _followee: { id: User['id'] }, requestId?: string): Promise<void> {
+ public async follow(_follower: { id: User['id'] }, _followee: { id: User['id'] }, requestId?: string, silent = false): Promise<void> {
const [follower, followee] = await Promise.all([
this.usersRepository.findOneByOrFail({ id: _follower.id }),
this.usersRepository.findOneByOrFail({ id: _followee.id }),
@@ -139,7 +143,7 @@ export class UserFollowingService implements OnModuleInit {
}
}
- await this.insertFollowingDoc(followee, follower);
+ await this.insertFollowingDoc(followee, follower, silent);
if (this.userEntityService.isRemoteUser(follower) && this.userEntityService.isLocalUser(followee)) {
const content = this.apRendererService.addContext(this.apRendererService.renderAccept(this.apRendererService.renderFollow(follower, followee, requestId), followee));
@@ -155,6 +159,7 @@ export class UserFollowingService implements OnModuleInit {
follower: {
id: User['id']; host: User['host']; uri: User['host']; inbox: User['inbox']; sharedInbox: User['sharedInbox']
},
+ silent = false,
): Promise<void> {
if (follower.id === followee.id) return;
@@ -233,7 +238,7 @@ export class UserFollowingService implements OnModuleInit {
this.perUserFollowingChart.update(follower, followee, true);
// Publish follow event
- if (this.userEntityService.isLocalUser(follower)) {
+ if (this.userEntityService.isLocalUser(follower) && !silent) {
this.userEntityService.pack(followee.id, follower, {
detail: true,
}).then(async packed => {
@@ -410,7 +415,7 @@ export class UserFollowingService implements OnModuleInit {
}
if (this.userEntityService.isLocalUser(follower) && this.userEntityService.isRemoteUser(followee)) {
- const content = this.apRendererService.addContext(this.apRendererService.renderFollow(follower, followee));
+ const content = this.apRendererService.addContext(this.apRendererService.renderFollow(follower, followee, requestId ?? `${this.config.url}/follows/${followRequest.id}`));
this.queueService.deliver(follower, content, followee.inbox, false);
}
}