Files
Superalgos/api/src/middleware/getMember.js
T

58 lines
1.2 KiB
JavaScript

import axios from 'axios'
import { logger, DatabaseError } from '../logger'
export const getMember = async (req, res, next, db) => {
if (!req.headers.userId) return next()
logger.info('getMember ')
logger.info(req.headers.userId)
try {
const member = await getUser(req.headers.userId)
req.user = await member
next()
} catch (err) {
next()
}
}
export const getUser = authId => {
logger.info('getUser MiddleWare')
logger.info(authId)
const API_URL = 'https://app-api.advancedalgos.net/graphql'
return new Promise((resolve, reject) => {
try {
return axios.post(API_URL, {
query: `query users_User($userId: ID!) {
users_User(id: $userId){
id
alias
email
}
}`,
variables: {
userId: authId
}
}, {
headers: {
'Content-Type': 'application/json'
}
})
.then(res => {
logger.info('getUser result')
logger.info(res.data)
resolve(res.data)
})
.catch(err => {
logger.info('getUser err')
logger.info(err)
reject(err)
})
} catch (error) {
reject(error)
}
})
}
export default getUser