diff --git a/src/core/server/graph/tenant/loaders/users.ts b/src/core/server/graph/tenant/loaders/users.ts index c684a9d23..2b070c6a0 100644 --- a/src/core/server/graph/tenant/loaders/users.ts +++ b/src/core/server/graph/tenant/loaders/users.ts @@ -2,8 +2,17 @@ import DataLoader from "dataloader"; import Context from "talk-server/graph/tenant/context"; import { retrieveManyUsers, User } from "talk-server/models/user"; -export default (ctx: Context) => ({ - user: new DataLoader(ids => +export default (ctx: Context) => { + const user = new DataLoader(ids => retrieveManyUsers(ctx.mongo, ctx.tenant.id, ids) - ), -}); + ); + + if (ctx.user) { + // Prime the current logged in user in the dataloader cache. + user.prime(ctx.user.id, ctx.user); + } + + return { + user, + }; +};