Class GraphQLPermissionsGuard

Guard that checks if user has permission to access resource

@UseGuards(GraphQLJwtAuthGuard, GraphQLPermissionsGuard)
@UsePermissions('js:core:users:get')
@Resolver(() => User)
export class UserResolver {
// ...
}
@UseGuards(GraphQLJwtAuthGuard, GraphQLPermissionsGuard)
@UsePermissions('js:core:users:get')
@Query(() => User)
async user(
@Args('id') id: string
) {
// ...
}
@UseGuards(GraphQLJwtAuthGuard, GraphQLPermissionsGuard)
@UsePermissions('js:core:users:delete')
@Mutation(() => Boolean)
async deleteUser(
@Args('id') id: string
) {
// ...
}

Hierarchy (View Summary)

Constructors

Methods

  • Parameters

    • context: ExecutionContext

      execution context

    Returns Promise<boolean>

    • true if user has permission to access resource
    • AccessDeniedException if user has no permission to access resource
    @UseGuards(GraphQLJwtAuthGuard, GraphQLPermissionsGuard)
    @UsePermissions('js:core:users:get')
  • Get request from GraphQL execution context

    Parameters

    • context: ExecutionContext

      execution context

    Returns Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>> & {
        user?: BaseUser;
    }

    request from GraphQL execution context

  • Extracts request details from execution context

    Parameters

    • context: ExecutionContext

      execution context

    Returns Record<string, unknown>

    request details

  • Extracts current user from GraphQL context

    Parameters

    • context: ExecutionContext

      execution context

    Returns null | BaseUser

    current user if exists