add the insert, update restriction for the navigation property

This commit is contained in:
Sam Xu 2018-01-24 16:58:04 -08:00
parent b044b7e9e0
commit a6e12d3249

View file

@ -284,11 +284,19 @@ namespace Microsoft.OpenApi.OData.Generator
if (navigationProperty.TargetMultiplicity() == EdmMultiplicity.Many)
{
pathItem.AddOperation(OperationType.Post, context.CreateNavigationPostOperation(navigationSource, navigationProperty));
InsertRestrictions insert = new InsertRestrictions(context.Model, navigationProperty);
if (insert.IsInsertable())
{
pathItem.AddOperation(OperationType.Post, context.CreateNavigationPostOperation(navigationSource, navigationProperty));
}
}
else
{
pathItem.AddOperation(OperationType.Patch, context.CreateNavigationPatchOperation(navigationSource, navigationProperty));
UpdateRestrictions update = new UpdateRestrictions(context.Model, navigationProperty);
if (update.IsUpdatable())
{
pathItem.AddOperation(OperationType.Patch, context.CreateNavigationPatchOperation(navigationSource, navigationProperty));
}
}
return pathItem;