Transform roles and admin thingys already in backend

This commit is contained in:
Otto Ahoniemi
2022-01-04 16:35:43 +02:00
parent 06f5130747
commit 72db0f4595
3 changed files with 13 additions and 10 deletions
@@ -41,6 +41,7 @@ const currentUserMiddleware = async (req, _, next) => {
req.decodedToken = mockedUser
}
}
req.user = req.decodedToken // temp push user to req object
req.logoutUrl = logoutUrl
Sentry.setUser({ username: req.decodedToken.mockedBy || req.decodedToken.userId })
+9 -3
View File
@@ -2,14 +2,20 @@ const router = require('express').Router()
const { ApplicationError } = require('../util/customErrors')
router.get('/login', async (req, res) => {
const { decodedToken, logoutUrl } = req
const { user: userFromReq, logoutUrl } = req
if (!decodedToken) {
if (!userFromReq) {
throw new ApplicationError('User not found', 404)
}
const roles = userFromReq.roles.map(role => role.group_code)
const user = {
...userFromReq,
roles,
isAdmin: roles.includes('admin'),
}
res.send({
token: decodedToken,
user,
logoutUrl,
})
})
+3 -7
View File
@@ -36,16 +36,12 @@ export const useGetAuthorizedUserQuery = () => {
if (isLoading || error) return { data, isLoading, error, ...rest }
const { token } = data
// rewrite the roles array coming from backend
const roles = token?.roles?.map(r => r.group_code) ?? []
const { user } = data
return {
...token,
roles,
isAdmin: roles.includes('admin'),
...user,
isLoading,
error,
...rest,
}
}