From e2779befe6c80deea360dc93e8a105a51e9bccac Mon Sep 17 00:00:00 2001 From: Johann150 Date: Sat, 30 Mar 2024 23:31:47 +0100 Subject: [PATCH] remove duplicated cache A cache for instances already exists and is exported there. Also the type annotation here seemed wrong anyway because there did not seem to be a way for that fetcher to actually ever return `null` as a value. --- packages/backend/src/models/repositories/user.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/backend/src/models/repositories/user.ts b/packages/backend/src/models/repositories/user.ts index d8772c97d..d3aa570b9 100644 --- a/packages/backend/src/models/repositories/user.ts +++ b/packages/backend/src/models/repositories/user.ts @@ -8,14 +8,10 @@ import { populateEmojis } from '@/misc/populate-emojis.js'; import { USER_ACTIVE_THRESHOLD, USER_ONLINE_THRESHOLD, HOUR } from '@/const.js'; import { Cache } from '@/misc/cache.js'; import { db } from '@/db/postgre.js'; +import { registerOrFetchInstanceDoc } from '@/services/register-or-fetch-instance-doc.js'; import { Instance } from '../entities/instance.js'; import { Notes, NoteUnreads, FollowRequests, Notifications, MessagingMessages, UserNotePinings, Followings, Blockings, Mutings, RenoteMutings, UserProfiles, UserSecurityKeys, UserGroupJoinings, Pages, Announcements, AnnouncementReads, AntennaNotes, ChannelFollowings, Instances, DriveFiles } from '../index.js'; -const userInstanceCache = new Cache( - 3 * HOUR, - (host) => Instances.findOneBy({ host }).then(x => x ?? undefined), -); - type IsUserDetailed = Detailed extends true ? Packed<'UserDetailed'> : Packed<'UserLite'>; type IsMeAndIsUserDetailed = Detailed extends true ? @@ -319,7 +315,7 @@ export const UserRepository = db.getRepository(User).extend({ isModerator: user.isModerator, isBot: user.isBot, isCat: user.isCat, - instance: !user.host ? undefined : userInstanceCache.fetch(user.host) + instance: !user.host ? undefined : registerOrFetchInstanceDoc(user.host) .then(instance => !instance ? undefined : { name: instance.name, softwareName: instance.softwareName,