Skip to content

Commit cec14e7

Browse files
committed
use readRestrictions and Indexable instease of navigability
1 parent 54b1735 commit cec14e7

2 files changed

Lines changed: 51 additions & 31 deletions

File tree

transforms/csdl/preprocess_csdl.xsl

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -967,34 +967,44 @@
967967
</xsl:call-template>
968968
</xsl:element>
969969
</xsl:element>
970-
<xsl:element name="PropertyValue">
971-
<xsl:attribute name="Property">Navigability</xsl:attribute>
972-
<xsl:element name="EnumMember">Org.OData.Capabilities.V1.NavigationType/None</xsl:element>
973-
</xsl:element>
974970
</xsl:element>
975971
</xsl:element>
972+
<xsl:call-template name="ReadRestrictionsTemplate">
973+
<xsl:with-param name="readable">true</xsl:with-param>
974+
<xsl:with-param name="readableByKey">false</xsl:with-param>
975+
</xsl:call-template>
976+
<xsl:call-template name="IndexableByKeyTemplate">
977+
<xsl:with-param name="indexableByKey">false</xsl:with-param>
978+
</xsl:call-template>
979+
</xsl:copy>
980+
</xsl:template>
981+
982+
<xsl:template match="edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='bookingBusiness']/edm:NavigationProperty[@Name='calendarView']|
983+
edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='calendar']/edm:NavigationProperty[@Name='calendarView']|
984+
edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='group']/edm:NavigationProperty[@Name='calendarView']|
985+
edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='user']/edm:NavigationProperty[@Name='calendarView']">
986+
<xsl:copy>
987+
<xsl:apply-templates select="@* | node()"/>
988+
<xsl:call-template name="ReadRestrictionsTemplate">
989+
<xsl:with-param name="readable">true</xsl:with-param>
990+
<xsl:with-param name="readableByKey">false</xsl:with-param>
991+
</xsl:call-template>
992+
<xsl:call-template name="IndexableByKeyTemplate">
993+
<xsl:with-param name="indexableByKey">false</xsl:with-param>
994+
</xsl:call-template>
976995
</xsl:copy>
977996
</xsl:template>
978997

979998
<xsl:template match="edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='event']/edm:NavigationProperty[@Name='exceptionOccurrences']">
980999
<xsl:copy>
9811000
<xsl:apply-templates select="@* | node()"/>
982-
<xsl:choose>
983-
<xsl:when test="$open-api-generation='False'">
984-
<xsl:element name="Annotations">
985-
<xsl:attribute name="Target">microsoft.graph.event/exceptionOccurrences</xsl:attribute>
986-
<xsl:element name="Annotation">
987-
<xsl:attribute name="Term">Org.OData.Capabilities.V1.NavigationRestrictions</xsl:attribute>
988-
<xsl:element name="Record" namespace="{namespace-uri()}">
989-
<xsl:element name="PropertyValue">
990-
<xsl:attribute name="Property">Navigability</xsl:attribute>
991-
<xsl:element name="EnumMember">Org.OData.Capabilities.V1.NavigationType/None</xsl:element>
992-
</xsl:element>
993-
</xsl:element>
994-
</xsl:element>
995-
</xsl:element>
996-
</xsl:when>
997-
</xsl:choose>
1001+
<xsl:call-template name="ReadRestrictionsTemplate">
1002+
<xsl:with-param name="readable">false</xsl:with-param>
1003+
<xsl:with-param name="readableByKey">false</xsl:with-param>
1004+
</xsl:call-template>
1005+
<xsl:call-template name="IndexableByKeyTemplate">
1006+
<xsl:with-param name="indexableByKey">false</xsl:with-param>
1007+
</xsl:call-template>
9981008
</xsl:copy>
9991009
</xsl:template>
10001010

transforms/csdl/preprocess_csdl_test_output.xml

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,17 @@
5656
</EntityType>
5757
<EntityType Name="event" BaseType="graph.outlookItem" OpenType="true">
5858
<NavigationProperty Name="exceptionOccurrences" Type="Collection(graph.event)" ContainsTarget="true">
59-
<Annotations Target="microsoft.graph.event/exceptionOccurrences">
60-
<Annotation Term="Org.OData.Capabilities.V1.NavigationRestrictions">
61-
<Record>
62-
<PropertyValue Property="Navigability">
63-
<EnumMember>Org.OData.Capabilities.V1.NavigationType/None</EnumMember>
64-
</PropertyValue>
65-
</Record>
66-
</Annotation>
67-
</Annotations>
59+
<Annotation Term="Org.OData.Capabilities.V1.ReadRestrictions">
60+
<Record>
61+
<PropertyValue Property="Readable" Bool="false" />
62+
<PropertyValue Property="ReadByKeyRestrictions">
63+
<Record>
64+
<PropertyValue Property="Readable" Bool="false" />
65+
</Record>
66+
</PropertyValue>
67+
</Record>
68+
</Annotation>
69+
<Annotation Term="Org.OData.Capabilities.V1.IndexableByKey" Bool="false" />
6870
</NavigationProperty>
6971
<NavigationProperty Name="instances" Type="Collection(graph.event)" ContainsTarget="true">
7072
<Annotation Term="Org.OData.Capabilities.V1.NavigationRestrictions">
@@ -96,11 +98,19 @@
9698
</Record>
9799
</Collection>
98100
</PropertyValue>
99-
<PropertyValue Property="Navigability">
100-
<EnumMember>Org.OData.Capabilities.V1.NavigationType/None</EnumMember>
101+
</Record>
102+
</Annotation>
103+
<Annotation Term="Org.OData.Capabilities.V1.ReadRestrictions">
104+
<Record>
105+
<PropertyValue Property="Readable" Bool="true" />
106+
<PropertyValue Property="ReadByKeyRestrictions">
107+
<Record>
108+
<PropertyValue Property="Readable" Bool="false" />
109+
</Record>
101110
</PropertyValue>
102111
</Record>
103112
</Annotation>
113+
<Annotation Term="Org.OData.Capabilities.V1.IndexableByKey" Bool="false" />
104114
</NavigationProperty>
105115
</EntityType>
106116
<EntityType Name="plannerPlan" BaseType="graph.entity">

0 commit comments

Comments
 (0)