From c2de7f5a7b3907dda8cb2f865797bfb13d880e31 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Mon, 17 Oct 2022 23:31:10 +0530 Subject: [PATCH] feat(api): WIP - allow super admin access to all project Signed-off-by: Pranav C --- .../nocodb/src/lib/meta/api/userApi/initStrategies.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/nocodb/src/lib/meta/api/userApi/initStrategies.ts b/packages/nocodb/src/lib/meta/api/userApi/initStrategies.ts index 37b4c08456..4f71798dda 100644 --- a/packages/nocodb/src/lib/meta/api/userApi/initStrategies.ts +++ b/packages/nocodb/src/lib/meta/api/userApi/initStrategies.ts @@ -1,3 +1,4 @@ +import { OrgUserRoles } from '../../../../enums/OrgUserRoles'; import User from '../../../models/User'; import ProjectUser from '../../../models/ProjectUser'; import { promisify } from 'util'; @@ -91,6 +92,13 @@ export function initStrategies(router): void { ...Noco.getConfig().auth.jwt.options, }, async (req, jwtPayload, done) => { + // todo: improve this + if (req.roles.split(',').includes(OrgUserRoles.SUPER)) { + return User.getByEmail(jwtPayload?.email).then(async (user) => { + return done(null, { ...user, roles: 'owner,creator' }); + }); + } + const keyVals = [jwtPayload?.email]; if (req.ncProjectId) { keyVals.push(req.ncProjectId);