feat: prime current user in user cache

This commit is contained in:
Wyatt Johnson
2018-09-22 00:45:58 -06:00
parent ae60311e85
commit 2edd923b9e
+13 -4
View File
@@ -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<string, User | null>(ids =>
export default (ctx: Context) => {
const user = new DataLoader<string, User | null>(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,
};
};