Skip to content

Add insert, update, delete restrictions#1770

Open
bdebaere wants to merge 289 commits into
OData:masterfrom
bdebaere:feature/cud.restrictions
Open

Add insert, update, delete restrictions#1770
bdebaere wants to merge 289 commits into
OData:masterfrom
bdebaere:feature/cud.restrictions

Conversation

@bdebaere

Copy link
Copy Markdown
Contributor

Add insert, update, delete restrictions based on https://www.odata.org/blog/introducing-a-capabilities-vocabulary/. It is now possible to call IsNotInsertable(), IsNotUpdatable(), IsNotDeletable() on the NavigationSourceConfiguration and NavigationSourceConfiguration. It is now also possible to call IsNotInsertable(), IsNotUpdatable(), IsNotDeletable() on the PropertyConfiguration. This results in additional annotations added where necessary.

genusP and others added 30 commits September 21, 2017 08:35
- Fix errors, in some ORMs (e.g. LinqToDb), when execute check null in SelectExpandBinder
…Data#1075)

Adapt Microsoft.AspNet.OData.Shared to use interface layer.
Add complex return type to SelectControllerResult.
Abstract the creation of action mapping.
Move Http method definitions to a common enum.
Remove reference to ODataMediaTypeFormatter in resource files.
Modify resource loading to work on NetCore and NetFx.
Move code from src\Microsoft.AspNet.OData.Shared\Common\Common to src\Microsoft.AspNet.OData.Shared\Common.

No other changes are includes in this commit in order to simplify history.
The code does not compile in this change.
…DependencyInjection frameworks (OData#1082)

- Call BuildServiceProvider using reflection to make it compatible with both MS.Extensions.DependencyInjection 1 & 2
- Updating PULL_REQUEST_TEMPLATE.md for markdown support in GitHub
* Support newtonsoft.json serialization for grouby results

* Rename variable in DynamicTypeWrapperConverter

* Move JsonConverterAttribute to GroupByWrapper to not modify Public API
Adapt WebApi to use interface layer in Microsoft.AspNet.OData.

No other changes are includes in this commit in order to simplify history.
The Microsoft.AspNet.OData project now compile.
Change FilterQueryValidator lifetime to Scoped (OData#1083)
… components

Flatten TestCommon test directories

Create Microsoft.Test.AspNet.OData project for AspNet test components
Flatten System.Web.OData.Test test directories

No other changes are includes in this commit in order to simplify history.
The code does not compile; solution/project references don't match.
Adjust namespace and using statements based on the test code moves.

No other changes are includes in this commit in order to simplify history.
The code does not compile in this change.
…n projects now compile.

WebApiOData.sln now compiles.

All UnitTests are passsing.
All tests are passsing.

WebApiPerformance.Service and WebApiPerformance.Test now compiles.
All tests are passsing.

All changes to E2E and performance tests were the addition of the
copywrite header and namespace change. There are no other E2E or
performance test code changes.

The E2E test require a client so I updated all projects (product, unit tests) to use
ODL 7.3.1 in order to pickup a client from MyGet. As part of this change,

I had to change a failing unit test due to a change in ODL:
test/UnitTest/Microsoft.Test.AspNet.OData/Query/Expressions/FilterBinderTests.cs
Fix code analysis/style copy issues.
Update msbuild scripts to 2015.
Update Nuspec files.
HRasch and others added 16 commits November 14, 2018 09:34
…Data#1618)

* Take and Top query use wrong Provider.CreateQuery Method OData#1617

* Bugfix: Cast to IProviderInterface before scanning for the methods

* Based on review feedback, method searching is now cached
* For individual query options, pass in the container so that global config is available.

* CR comments.
* Update src/Microsoft.AspNetCore.OData/Extensions/ODataApplicationBuilderExtensions.cs

* Update public API bsl
…uilder (OData#1592)

* Fix for OData#1591 - OData Builder should honor assigned Namespace

* Fixing tests

* Enabling build on machines using VS2017 alone also fixing build for Preview version of VS

* Using String instead of string in expression (Build fix)

* Adding registration for Enum Types as well

* Updating comments

* Taking PR feedback

* Taking PR comments. Adding code to revert namespace to Default, if user sets it to null or empty
* Allowing the definition of partner relationships

* Change the C# style to make the VS2015 build pass
…ata#1742)

* Fixes for regression described in OData#1741

- Optimizes the codepath so that primitives can be tested without a DI container.
- Adds the missed conversion for ConstantNodes.

- [X] Includes unit tests

* Update ODataModelBinderConverterTests.cs

Documentation adjustments.
@msftclas

msftclas commented Feb 23, 2019

Copy link
Copy Markdown

CLA assistant check
All CLA requirements met.

@bdebaere

Copy link
Copy Markdown
Contributor Author

I don’t know why the build fails. I don’t have access to check the log. It builds successfully on my local branch.

@xuzhg

xuzhg commented Feb 27, 2019

Copy link
Copy Markdown
Member

it seems the TestPublicApi failed, please update that in both projects.

@bdebaere

Copy link
Copy Markdown
Contributor Author

Sorry about that. Resolved.

@xuzhg

xuzhg commented Mar 6, 2019

Copy link
Copy Markdown
Member

@bdebaere Thanks a lot for your contribution.

However, what i am thinking is that "do we need to build these functionality in Web API OData? Should be these at use side? " And it seems Capabilities changes a lot, see https://github.com/oasis-tcs/odata-vocabularies/blob/master/vocabularies/Org.OData.Capabilities.V1.md.
I'd invite @mikepizzo share his thoughts about it.

@raheph

raheph commented Mar 27, 2019

Copy link
Copy Markdown
Contributor

@bdebaere It seems it's better to add such extension methods into OData.Edm library and use OData model builder pattern to call those extension methods.

@mikepizzo

Copy link
Copy Markdown
Contributor

Would really like to see this functionality added at the right level, and using the latest OASIS vocabulary.

@madansr7 madansr7 self-requested a review August 21, 2019 21:05
@xuzhg xuzhg force-pushed the master branch 2 times, most recently from 4c43a84 to ddfd3dd Compare May 29, 2026 01:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.