microsoftgraph / microsoftgraph/msgraph-metadata
Required properties on insert and update should be specified in `requiredProperties`
Nobody has claimed this yet.
- Dominant language
- XSLT
- Stars
- 166
- Forks
- 55
- Avg merge
- 16h 12m
- Merged PRs (30d)
- 14
Description
Workload owners should explicitly specify required properties on insert and update in requiredProperties as stated at https://github.com/oasis-tcs/odata-vocabularies/blob/814f2fdc1828d321a707de4c2da8cc7f128a0a29/vocabularies/Org.OData.Capabilities.V1.md#insertrestrictionstype.
| RequiredProperties | [PropertyPath] | These structural properties must be specified on insert |
|---|
| RequiredProperties | [PropertyPath] | These structural properties must be specified on update |
|---|
Also, navigation properties that don't support deep inserts and rebinding should be specified in NonInsertableNavigationProperties and NonUpdatableNavigationProperties respectively.
This is needed to ensure SDKs surface updatable and insertable properties accurately. The CSDL is the sole source of truth for SDKs and other tools. The accuracy and completeness of the CSDL is critical in generating self-documenting SDKs.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the Microsoft Graph CSDL metadata with the linked OData Capabilities definitions for InsertRestrictionsType and UpdateRestrictionsType. Check how requiredProperties and non-insertable or non-updatable navigation properties are represented. Done means the CSDL accurately exposes these constraints so SDKs and other tools can generate correct property behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- xml
- Domain
- api
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100