Query complexity validation (#16274)
Validations : - relations count (in common api) - oneToMany relation nested count (in common) - requested fields count (in gql) - root resolver count (in gql) - root resolver duplicates (in gql) - specific complexity for metadata / nesting count (in gql)
This commit is contained in:
@@ -989,10 +989,26 @@ export class ConfigVariables {
|
||||
@CastToPositiveNumber()
|
||||
@ConfigVariablesMetadata({
|
||||
group: ConfigVariablesGroup.RATE_LIMITING,
|
||||
description: 'Maximum complexity allowed for GQL queries',
|
||||
description: 'Maximum fields allowed for GQL queries',
|
||||
type: ConfigVariableType.NUMBER,
|
||||
})
|
||||
GRAPHQL_MAX_COMPLEXITY = 2000;
|
||||
GRAPHQL_MAX_FIELDS = 2000;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
@ConfigVariablesMetadata({
|
||||
group: ConfigVariablesGroup.RATE_LIMITING,
|
||||
description: 'Maximum root resolvers allowed for GQL queries',
|
||||
type: ConfigVariableType.NUMBER,
|
||||
})
|
||||
GRAPHQL_MAX_ROOT_RESOLVERS = 20;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
@ConfigVariablesMetadata({
|
||||
group: ConfigVariablesGroup.RATE_LIMITING,
|
||||
description: 'Maximum complexity allowed for Common API queries',
|
||||
type: ConfigVariableType.NUMBER,
|
||||
})
|
||||
COMMON_QUERY_COMPLEXITY_LIMIT = 50;
|
||||
|
||||
@ConfigVariablesMetadata({
|
||||
group: ConfigVariablesGroup.RATE_LIMITING,
|
||||
|
||||
Reference in New Issue
Block a user