Files
twenty/packages/twenty-server/src/engine/guards/admin-panel-guard.ts

16 lines
472 B
TypeScript

import { CanActivate, ExecutionContext } from '@nestjs/common';
import { GqlExecutionContext } from '@nestjs/graphql';
import { Observable } from 'rxjs';
export class AdminPanelGuard implements CanActivate {
canActivate(
context: ExecutionContext,
): boolean | Promise<boolean> | Observable<boolean> {
const ctx = GqlExecutionContext.create(context);
const request = ctx.getContext().req;
return request.user.canAccessFullAdminPanel === true;
}
}