From 25b1ecbe1509e5bbc58838805a38e09a2f79b0af Mon Sep 17 00:00:00 2001 From: Miodec Date: Thu, 30 Nov 2023 12:49:33 +0000 Subject: [PATCH] impr: reduce number of db calls by adding a caching parameter --- backend/src/api/controllers/user.ts | 2 +- backend/src/dal/user.ts | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/backend/src/api/controllers/user.ts b/backend/src/api/controllers/user.ts index d289de272..946f7455f 100644 --- a/backend/src/api/controllers/user.ts +++ b/backend/src/api/controllers/user.ts @@ -382,7 +382,7 @@ export async function getUser( UserDAL.flagForNameChange(uid); } - const isPremium = await UserDAL.checkIfUserIsPremium(uid); + const isPremium = await UserDAL.checkIfUserIsPremium(uid, userInfo); const userData = { ...getRelevantUserInfo(userInfo), diff --git a/backend/src/dal/user.ts b/backend/src/dal/user.ts index f83e30b16..3309427ff 100644 --- a/backend/src/dal/user.ts +++ b/backend/src/dal/user.ts @@ -1039,8 +1039,11 @@ export async function setBanned(uid: string, banned: boolean): Promise { } } -export async function checkIfUserIsPremium(uid: string): Promise { - const user = await getUser(uid, "checkIfUserIsPremium"); +export async function checkIfUserIsPremium( + uid: string, + userInfoOverride?: MonkeyTypes.User +): Promise { + const user = userInfoOverride ?? (await getUser(uid, "checkIfUserIsPremium")); const expirationDate = user.premium?.expirationTimestamp; if (expirationDate === undefined) return false;