microsoft / microsoft/OpenAPI.NET.OData

Add support for IsDelta in return types

Open
#592 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
240
Forks
70
Avg merge
7h 59m
Merged PRs (30d)
13

Description

OASIS has added support for an IsDelta annotation that specifies that action or function parameters or return types may be represented as a delta (that is, they may contain deleted entities or nested changes). See https://github.com/oasis-tcs/odata-specs/blob/main/docs/odata-csdl-json/odata-csdl-json.md#annotation-coreisdelta) for a description of applying the annotation to a return type.

For example, the following "getChanges" function returns a collection of users, represented as a delta payload:

  <Function Name="getChanges" IsBound="true">
    <Parameter Name="bindingParameter" Type="microsoft.graph.savePoint" />
    <ReturnType Type="Collection(microsoft.graph.user)">
      <Annotation Term="Org.OData.Core.V1.IsDelta" Bool="true" />
    </ReturnType>
  </Function>

This Issue is to add support for this annotation to OpenAPI.NET.OData.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no implementation files or tests. Start by locating how OpenAPI.NET.OData processes OData annotations and return types, then use the shown getChanges function as the input case; done means its IsDelta return-type annotation is represented correctly in the generated OpenAPI document.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, openapi
Domain
api
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.