Skip to content

Commit

Permalink
Allow out-of-band knowledge again
Browse files Browse the repository at this point in the history
  • Loading branch information
HeikoTheissen committed Aug 1, 2024
1 parent c76b66b commit aa75d52
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 3 deletions.
2 changes: 1 addition & 1 deletion docs/odata-protocol/odata-protocol.html
Original file line number Diff line number Diff line change
Expand Up @@ -2278,7 +2278,7 @@ <h3 id="1142-create-an-entity"><a name="CreateanEntity" href="#CreateanEntity">1
<li>properties listed as <code>NonInsertableProperties</code> of term <a href="https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Capabilities.V1.md#InsertRestrictions"><code>Capabilities.InsertRestrictions</code></a>, see <a href="#ODataVocCap">OData-VocCap</a>,</li>
<li>properties annotated with term <a href="https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Permissions"><code>Core.Permissions</code></a>, see <a href="#ODataVocCore">OData-VocCore</a>, where the annotation value does not have the <code>Write</code> flag.</li>
</ul>
<p>Properties tagged with <code>Core.Computed</code> MAY additionally be tagged with the term <a href="https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#PostCondition"><code>Core.PostCondition</code></a>, see <a href="#ODataVocCore">OData-VocCore</a>, if the service does not ignore them. Clients can then provide these properties in an insert request and benefit from the certainty that, if the request succeeds, their service-determined values match the provided values. Providing such properties effectively imposes “post-conditions” that must be met for the request to succeed.</p>
<p>Properties tagged with <code>Core.Computed</code> MAY additionally be tagged with the term <a href="https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#PostCondition"><code>Core.PostCondition</code></a>, see <a href="#ODataVocCore">OData-VocCore</a>, if the service does not ignore them. Based on this tag (or based on out-of-band knowledge about the service behavior) clients can provide these properties in an insert request and benefit from the certainty that, if the request succeeds, their service-determined values match the provided values. Providing such properties effectively imposes “post-conditions” that must be met for the request to succeed.</p>
<p>Otherwise, clients SHOULD omit non-insertable properties from the request body.</p>
<div class="example">
<p>Example 76: The entity <code>SalesOrder</code> has a property <code>ExportRegulationsState</code> which is tagged with <code>Core.Computed</code> and <code>Core.PostCondition</code> and which the service determines based on the product and destination country. Clients can specify it with value <code>Allowed</code> to impose a “post-condition” that a sales order is created only if it meets export regulations.</p>
Expand Down
3 changes: 2 additions & 1 deletion docs/odata-protocol/odata-protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -4196,7 +4196,8 @@ Non-insertable properties include (and are not limited to)
Properties tagged with `Core.Computed` MAY additionally be tagged with the term
[`Core.PostCondition`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#PostCondition),
see [OData-VocCore](#ODataVocCore), if the service does not ignore them.
Clients can then provide these properties in an insert request
Based on this tag (or based on out-of-band knowledge about the service behavior)
clients can provide these properties in an insert request
and benefit from the certainty that, if the request succeeds, their service-determined values match
the provided values. Providing such properties effectively imposes "post-conditions"
that must be met for the request to succeed.
Expand Down
3 changes: 2 additions & 1 deletion odata-protocol/11.4 Data Modification.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,8 @@ Non-insertable properties include (and are not limited to)
Properties tagged with `Core.Computed` MAY additionally be tagged with the term
[`Core.PostCondition`](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#PostCondition),
see [OData-VocCore](#ODataVocCore), if the service does not ignore them.
Clients can then provide these properties in an insert request
Based on this tag (or based on out-of-band knowledge about the service behavior)
clients can provide these properties in an insert request
and benefit from the certainty that, if the request succeeds, their service-determined values match
the provided values. Providing such properties effectively imposes "post-conditions"
that must be met for the request to succeed.
Expand Down

0 comments on commit aa75d52

Please sign in to comment.