What happened?
The changes have been made according to the remarks made in #1538 this works well when the query looks like this:
{
assets(
filter: {
and: [
{ type: { eq: "asset" } }
{ collection: { eq: $domain } }
{ data: { container: { neq: $domain } } }
]
}
) {
items {
__typename
...AssetFields
}
}
}
however when i use multiple filters on the nested object the access forbidden error is returned
{
assets(
filter: {
and: [
{ type: { eq: "asset" } }
{ collection: { eq: $domain } }
{ data: { container: { neq: $domain } } }
{ data: { path: { notContains: ".json" } } }
]
}
) {
items {
__typename
...AssetFields
}
}
}
Version
0.7.6 (part of the swa cli)
What database are you using?
CosmosDB NoSQL
What hosting model are you using?
Static Web Apps (SWA)
Which API approach are you accessing DAB through?
GraphQL
Relevant log output
dataApi] fail: Azure.DataApiBuilder.Service.Startup[0]
[dataApi] at Azure.DataApiBuilder.Service.Models.GQLFilterParser.Parse(IMiddlewareContext ctx, IInputField filterArgumentSchema, List`1 fields, BaseQueryStructure queryStructure) in /_/src/Service/Models/GraphQLFilterParsers.cs:line 159
[dataApi] at Azure.DataApiBuilder.Service.Models.GQLFilterParser.ParseAndOr(IMiddlewareContext ctx, IInputField argumentSchema, IInputField filterArgumentSchema, List`1 fields, BaseQueryStructure baseQuery, PredicateOperation op) in /_/src/Service/Models/GraphQLFilterParsers.cs:line 430
[dataApi] at Azure.DataApiBuilder.Service.Models.GQLFilterParser.Parse(IMiddlewareContext ctx, IInputField filterArgumentSchema, List`1 fields, BaseQueryStructure queryStructure) in /_/src/Service/Models/GraphQLFilterParsers.cs:line 56
[dataApi] at Azure.DataApiBuilder.Service.Resolvers.CosmosQueryStructure.Init(IDictionary`2 queryParams) in /_/src/Service/Resolvers/CosmosQueryStructure.cs:line 168
[dataApi] at Azure.DataApiBuilder.Service.Resolvers.CosmosQueryEngine.ExecuteAsync(IMiddlewareContext context, IDictionary`2 parameters) in /_/src/Service/Resolvers/CosmosQueryEngine.cs:line 64
[dataApi] at Azure.DataApiBuilder.Service.Services.ResolverMiddleware.InvokeAsync(IMiddlewareContext context) in /_/src/Service/Services/ResolverMiddleware.cs:line 146
[dataApi] at HotChocolate.Utilities.MiddlewareCompiler`1.ExpressionHelper.AwaitTaskHelper(Task task)
[dataApi] at HotChocolate.AspNetCore.Authorization.AuthorizeMiddleware.InvokeAsync(IDirectiveContext context)
[dataApi] at HotChocolate.Utilities.MiddlewareCompiler`1.ExpressionHelper.AwaitTaskHelper(Task task)
[dataApi] at HotChocolate.Execution.Processing.Tasks.ResolverTask.ExecuteResolverPipelineAsync(CancellationToken cancellationToken)
[dataApi] at HotChocolate.Execution.Processing.Tasks.ResolverTask.TryExecuteAsync(CancellationToken cancellationToken)
Code of Conduct
What happened?
The changes have been made according to the remarks made in #1538 this works well when the query looks like this:
{ assets( filter: { and: [ { type: { eq: "asset" } } { collection: { eq: $domain } } { data: { container: { neq: $domain } } } ] } ) { items { __typename ...AssetFields } } }however when i use multiple filters on the nested object the access forbidden error is returned
{ assets( filter: { and: [ { type: { eq: "asset" } } { collection: { eq: $domain } } { data: { container: { neq: $domain } } } { data: { path: { notContains: ".json" } } } ] } ) { items { __typename ...AssetFields } } }Version
0.7.6 (part of the swa cli)
What database are you using?
CosmosDB NoSQL
What hosting model are you using?
Static Web Apps (SWA)
Which API approach are you accessing DAB through?
GraphQL
Relevant log output
Code of Conduct