diff --git a/backend/src/graphql/directive/isAuthorized.ts b/backend/src/graphql/directive/isAuthorized.ts index f1e26df4a..660806d3d 100644 --- a/backend/src/graphql/directive/isAuthorized.ts +++ b/backend/src/graphql/directive/isAuthorized.ts @@ -35,14 +35,20 @@ export const isAuthorized: AuthChecker = async ({ context }, rights) => where: { gradidoID: decoded.gradidoID }, relations: ['emailContact', 'userRoles'], }) - console.log('isAuthorized user=', user) + // console.log('isAuthorized user=', user) context.user = user - context.role = user.userRoles - ? user.userRoles[0].role === ROLE_NAMES.ROLE_NAME_ADMIN - ? ROLE_ADMIN - : ROLE_MODERATOR - : ROLE_USER + if (user.userRoles && user.userRoles.length > 0) { + if (user.userRoles[0].role === ROLE_NAMES.ROLE_NAME_ADMIN) { + context.role = ROLE_ADMIN + } else if (user.userRoles[0].role === ROLE_NAMES.ROLE_NAME_MODERATOR) { + context.role = ROLE_MODERATOR + } + } else { + context.role = ROLE_USER + } + // console.log('context.role=', context.role) } catch { + // console.log('401 Unauthorized for decoded', decoded) // in case the database query fails (user deleted) throw new LogError('401 Unauthorized') } diff --git a/backend/src/seeds/factory/contributionLink.ts b/backend/src/seeds/factory/contributionLink.ts index cbbe02ec8..d03d222c6 100644 --- a/backend/src/seeds/factory/contributionLink.ts +++ b/backend/src/seeds/factory/contributionLink.ts @@ -20,7 +20,6 @@ export const contributionLinkFactory = async ( mutation: login, variables: { email: 'peter@lustig.de', password: 'Aa12345_' }, }) - console.log('contributionlinkfactory user=', user) const variables = { amount: contributionLink.amount, memo: contributionLink.memo, diff --git a/backend/src/typeorm/repository/User.ts b/backend/src/typeorm/repository/User.ts index 53273102d..3c09f0fc7 100644 --- a/backend/src/typeorm/repository/User.ts +++ b/backend/src/typeorm/repository/User.ts @@ -16,6 +16,7 @@ export class UserRepository extends Repository { .select(select) .withDeleted() .leftJoinAndSelect('user.emailContact', 'emailContact') + .leftJoinAndSelect('user.userRoles', 'userRoles') .where( new Brackets((qb) => { qb.where(