Files
apollo-backend/src/context.js
2026-04-01 19:09:59 +07:00

18 lines
594 B
JavaScript

import { prisma } from './prisma-client.js';
import { extractAuthTokenFromRequest, verifyAccessToken } from './auth.js';
export async function buildContext(req) {
const token = extractAuthTokenFromRequest(req);
const tokenPayload = verifyAccessToken(token);
const legacyUserIdHeader = Array.isArray(req.headers['x-user-id'])
? req.headers['x-user-id'][0]
: req.headers['x-user-id'];
const userId = tokenPayload?.userId ?? legacyUserIdHeader;
const user = userId
? await prisma.user.findUnique({ where: { id: String(userId) } })
: null;
return { prisma, user };
}