Azure / Azure/data-api-builder

DAB - Cosmos Engine : "message": "id field is mandatory", even-though id is provided as a parameter

Open
#612 1 comment 0 reactions 2 assignees Assigned to @mbhaskar View on GitHub
cosmos graphql improvement
Dominant language
C#
Stars
1.5k
Forks
370
Avg merge
3d 17h
Merged PRs (30d)
8

Description

When I try to update a document , why do we need to pass id twice ?

updateHero (_partitionKeyValue: "testsajee1", id: "", item:{ id:"testsajee1", alter_ego:"hero", first_appearance:"cosmos", publisher:"azure", superhero:"test"} ){

```
{
"errors": [
{
"message": "id field is mandatory",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"updateHero"
],
"extensions": {
"message": "id field is mandatory",
"stackTrace": " at Azure.DataGateway.Service.Resolvers.CosmosMutationEngine.HandleUpdateAsync(IDictionary`2 queryArgs, Container container) in /Users/sajeetharan/Documents/Cosmos/Hawaii/Hawaii-engine/DataGateway.Service/Resolvers/CosmosMutationEngine.cs:line 128\n at Azure.DataGateway.Service.Resolvers.CosmosMutationEngine.ExecuteAsync(IDictionary`2 queryArgs, CosmosOperationMetadata resolver) in /Users/sajeetharan/Documents/Cosmos/Hawaii/Hawaii-engine/DataGateway.Service/Resolvers/CosmosMutationEngine.cs:line 58\n at Azure.DataGateway.Service.Resolvers.CosmosMutationEngine.ExecuteAsync(IMiddlewareContext context, IDictionary`2 parameters) in /Users/sajeetharan/Documents/Cosmos/Hawaii/Hawaii-engine/DataGateway.Service/Resolvers/CosmosMutationEngine.cs:line 245\n at Azure.DataGateway.Service.Services.ResolverMiddleware.InvokeAsync(IMiddlewareContext context) in /Users/sajeetharan/Documents/Cosmos/Hawaii/Hawaii-engine/DataGateway.Service/Services/ResolverMiddleware.cs:line 55\n at HotChocolate.Utilities.MiddlewareCompiler`1.ExpressionHelper.AwaitTaskHelper(Task task)\n at HotChocolate.Execution.Processing.Tasks.ResolverTask.ExecuteResolverPipelineAsync(CancellationToken cancellationToken)\n at HotChocolate.Execution.Processing.Tasks.ResolverTask.TryExecuteAsync(CancellationToken cancellationToken)"
}
}
],
"data": {
"updateHero": null
}
}

```
since "id" is already a part of the object? why would the user need to pass id as a separate field?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.