Skip to content

[Bug]: Using the word Asset as a model returns an error in version 0.7.6 #1538

@dgcaron

Description

@dgcaron

What happened?

i have the following gql schema:

type Asset @model {
  id: ID
  type: String
  name: String
  collection: String
  data: AssetData
  shares: [AssetShare]
  modifiedOn: String
}

type AssetData {
  contentType: String!
  host: String
  container: String!
  path: String
}

type AssetShare {
  id: String!
  target: String
  host: String
  container: String
  path: String
}

and this worked fine with versions prior to 0.7.6. this version fails with the following response:

{
  "errors": [
    {
      "message": "GraphQL type doesn't match any entity name or singular type in the runtime config.",
      "extensions": {
        "code": "BadRequest"
      }
    }
  ]
}

i have tried putting the plural and singular names in the configuration like this:

"Asset": {
      "source": "models",
      "graphql": {
        "type": {
          "singular": "Asset",
          "plural": "Assets"
        }
      },

but it doesn't seem to solve it either.

Version

0.7.6 (part of the swa cli)

What database are you using?

CosmosDB NoSQL

What hosting model are you using?

Local (including CLI)

Which API approach are you accessing DAB through?

GraphQL

Relevant log output

[dataApi] fail: Azure.DataApiBuilder.Service.Startup[0]
[dataApi]          at Azure.DataApiBuilder.Service.Services.MetadataProviders.CosmosSqlMetadataProvider.GetEntityName(String graphQLType) in /_/src/Service/Services/MetadataProviders/CosmosSqlMetadataProvider.cs:line 320
[dataApi]          at Azure.DataApiBuilder.Service.Models.GQLFilterParser.Parse(IMiddlewareContext ctx, IInputField filterArgumentSchema, List`1 fields, BaseQueryStructure queryStructure) in /_/src/Service/Models/GraphQLFilterParsers.cs:line 198
[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 95
[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

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions