From 2edd923b9e1fac3de6d7821aeb7baf07df92a0f0 Mon Sep 17 00:00:00 2001 From: Wyatt Johnson Date: Sat, 22 Sep 2018 00:45:58 -0600 Subject: [PATCH] feat: prime current user in user cache --- src/core/server/graph/tenant/loaders/users.ts | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) 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, + }; +};