summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/UserFollowingService.ts
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2024-02-25 12:36:10 +0900
committerGitHub <noreply@github.com>2024-02-25 12:36:10 +0900
commit2c6f25b710b4f8095458fe88ddd56e6c6a41d006 (patch)
treebcca3028e8ad2f970aaf0edcbbbae067074e59c2 /packages/backend/src/core/UserFollowingService.ts
parentfix(frontend): `userActivation`がない環境において不具合が生じ... (diff)
downloadsharkey-2c6f25b710b4f8095458fe88ddd56e6c6a41d006.tar.gz
sharkey-2c6f25b710b4f8095458fe88ddd56e6c6a41d006.tar.bz2
sharkey-2c6f25b710b4f8095458fe88ddd56e6c6a41d006.zip
fix: 古いキャッシュを使うのを修正 (#13453)
Diffstat (limited to 'packages/backend/src/core/UserFollowingService.ts')
-rw-r--r--packages/backend/src/core/UserFollowingService.ts27
1 files changed, 9 insertions, 18 deletions
diff --git a/packages/backend/src/core/UserFollowingService.ts b/packages/backend/src/core/UserFollowingService.ts
index d87cbacdcb..0a492c06e4 100644
--- a/packages/backend/src/core/UserFollowingService.ts
+++ b/packages/backend/src/core/UserFollowingService.ts
@@ -101,33 +101,24 @@ export class UserFollowingService implements OnModuleInit {
this.queueService.deliver(followee, content, follower.inbox, false);
}
- /**
- * ThinUserでなくともユーザーの情報が最新でない場合はこちらを使うべき
- */
@bindThis
- public async followByThinUser(
+ public async follow(
_follower: ThinUser,
_followee: ThinUser,
- options: Parameters<typeof this.follow>[2] = {},
- ) {
- const [follower, followee] = await Promise.all([
- this.usersRepository.findOneByOrFail({ id: _follower.id }),
- this.usersRepository.findOneByOrFail({ id: _followee.id }),
- ]) as [MiLocalUser | MiRemoteUser, MiLocalUser | MiRemoteUser];
-
- await this.follow(follower, followee, options);
- }
-
- @bindThis
- public async follow(
- follower: MiLocalUser | MiRemoteUser,
- followee: MiLocalUser | MiRemoteUser,
{ requestId, silent = false, withReplies }: {
requestId?: string,
silent?: boolean,
withReplies?: boolean,
} = {},
): Promise<void> {
+ /**
+ * 必ず最新のユーザー情報を取得する
+ */
+ const [follower, followee] = await Promise.all([
+ this.usersRepository.findOneByOrFail({ id: _follower.id }),
+ this.usersRepository.findOneByOrFail({ id: _followee.id }),
+ ]) as [MiLocalUser | MiRemoteUser, MiLocalUser | MiRemoteUser];
+
if (this.userEntityService.isRemoteUser(follower) && this.userEntityService.isRemoteUser(followee)) {
// What?
throw new Error('Remote user cannot follow remote user.');