[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] (ODATA-1502) Allow to specify expand query options beyond just nested expands (filter, select, ...)
Christof Sprenger created ODATA-1502: ---------------------------------------- Summary: Allow to specify expand query options beyond just nested expands (filter, select, ...) Key: ODATA-1502 URL: https://issues.oasis-open.org/browse/ODATA-1502 Project: OASIS Open Data Protocol (OData) TC Issue Type: Improvement Reporter: Christof Sprenger In the current state, [ExpandRestrictions|http://example.com/]https://github.com/oasis-tcs/odata-vocabularies/blob/ee275ab8006b9f6a93e8e817656838dcd623da0d/vocabularies/Org.OData.Capabilities.V1.xml#L524] can specify the forbidden *nested* expansions via the NonExpandableProperties but can't specify the other nested query options. For example the request \{{ GET /orders/?$expand=items($expand=sku) }} is allowed with Capabilities annotation that allows expansion for the paths \{{ [ "items", "items/sku" ] }}. But the capabilities a) needs to list the NonExpandableProperties b) has no way to specify if there is a filter restriction allowed inside of the expanded \{{ items }} ( \{{ GET /orders/?$expand=items($expand=sku; $filter=count gt 10) }} ) This is different for other restrictions that typically are used as part of a NavigationPropertyRestriction that lists the NavigationProperty Path together with all kinds of restrictions. Hypothetical {{<Annotations Target="example.com.Service/orders">}} {{Â <Annotation Term="Org.OData.Capabilities.V1.NavigationRestrictions">}} {{Â Â <Record Type="Org.OData.Capabilities.V1.NavigationRestrictionsType">}} {{Â Â Â <PropertyValue Property="RestrictedProperties">}} {{Â Â Â Â <Collection>}} {{Â Â Â Â Â <Record Type="Org.OData.Capabilities.V1.NavigationPropertyRestriction">}} {{Â Â Â Â Â Â <PropertyValue Property="NavigationProperty" NavigationPropertyPath="items" />}} {{Â Â Â Â Â Â <PropertyValue Property="ExpandRestrictions">}} {{Â Â Â Â Â Â Â <Record Type="Org.OData.Capabilities.V1.ExpandRestrictionsType">}} {{Â Â Â Â Â Â Â </Record>}} {{Â Â Â Â Â Â </PropertyValue>}} {{Â Â Â Â Â </Record>}} {{Â Â Â Â Â <Record Type="Org.OData.Capabilities.V1.NavigationPropertyRestriction">}} {{Â Â Â Â Â Â Â<PropertyValue Property="NavigationProperty" NavigationPropertyPath="items/sku" />}} {{Â Â Â Â Â Â Â<PropertyValue Property="ExpandRestrictions">}} {{Â Â Â Â Â Â Â Â<Record Type="Org.OData.Capabilities.V1.ExpandRestrictionsType">}} {{Â Â Â Â Â Â Â Â</Record>}} {{Â Â Â Â Â Â Â</PropertyValue>}} {{Â Â Â Â Â </Record>}} {{Â Â Â Â </Collection>}} {{Â Â Â </PropertyValue>}} {{Â Â </Record>}} Â Â </Annotation> </Annotations> But that doesn't quite capture the situation since the ExpandRestriction is not restricting the navigation property it is "applied to" (items and items/sku) in the above but rather is restricting the navigation properties of the structured type of structured type it is applied to (hence the NonExpandableProperties) -- This message was sent by Atlassian Jira (v8.3.3#803004)
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]