2025-03-08 21:12:47 +01:00

42 lines
832 B
JavaScript

const users = require('./connectors/users')
// Context passed to all resolvers (third argument)
// req => Query
// connection => Subscription
module.exports = ({ req, connection }) => {
// If the websocket context was already resolved
if (connection && connection.context)
return connection.context
let rawToken
// HTTP
if (req)
rawToken = req.get('Authorization')
// Websocket
if (connection)
rawToken = connection.Authorization
// Token
const token = rawToken ? JSON.parse(rawToken) : null
let userId
// User validation
if (token && users.validateToken(token)) {
userId = token.userId
}
// return new Promise(resolve => {
// setTimeout(() => {
// resolve({
// token,
// userId,
// })
// }, 3000)
// })
return {
token,
userId,
}
}