|
606 | 606 | </xsl:element> |
607 | 607 | </xsl:element> |
608 | 608 | </xsl:template> |
| 609 | + <xsl:template name="ReferenceableRestrictionsTemplate"> |
| 610 | + <xsl:param name = "referenceable" /> |
| 611 | + <xsl:element name="Annotation"> |
| 612 | + <xsl:attribute name="Term">Org.OData.Capabilities.V1.NavigationRestrictions</xsl:attribute> |
| 613 | + <xsl:element name="Record" namespace="{namespace-uri()}"> |
| 614 | + <xsl:element name="PropertyValue"> |
| 615 | + <xsl:attribute name="Property">Referenceable</xsl:attribute> |
| 616 | + <xsl:attribute name="Bool"><xsl:value-of select="$referenceable"/></xsl:attribute> |
| 617 | + </xsl:element> |
| 618 | + </xsl:element> |
| 619 | + </xsl:element> |
| 620 | + </xsl:template> |
609 | 621 |
|
610 | 622 | <!-- Add Navigation Restrictions Annotations --> |
611 | 623 | <xsl:template match="edm:Schema[@Namespace='microsoft.graph']"> |
|
656 | 668 | </xsl:element> |
657 | 669 | </xsl:element> |
658 | 670 | </xsl:element> |
659 | | - |
| 671 | + |
660 | 672 | <!-- Remove indexability for joinedGroups navigation property --> |
661 | 673 | <!-- Add the parent "Annotations" tag if it doesn't exists --> |
662 | 674 | <xsl:choose> |
|
718 | 730 | </xsl:call-template> |
719 | 731 | </xsl:element> |
720 | 732 | </xsl:if> |
| 733 | + |
| 734 | + <!-- Add Referenceable annotations for group/members & publishedResource/agentGroups |
| 735 | + separately so as not to overwrite the prior transforms added to these navigation properties --> |
| 736 | + <xsl:element name="Annotations"> |
| 737 | + <xsl:attribute name="Target">microsoft.graph.group/members</xsl:attribute> |
| 738 | + <xsl:call-template name="ReferenceableRestrictionsTemplate"> |
| 739 | + <xsl:with-param name="referenceable">true</xsl:with-param> |
| 740 | + </xsl:call-template> |
| 741 | + </xsl:element> |
| 742 | + <xsl:element name="Annotations"> |
| 743 | + <xsl:attribute name="Target">microsoft.graph.publishedResource/agentGroups</xsl:attribute> |
| 744 | + <xsl:call-template name="ReferenceableRestrictionsTemplate"> |
| 745 | + <xsl:with-param name="referenceable">true</xsl:with-param> |
| 746 | + </xsl:call-template> |
| 747 | + </xsl:element> |
721 | 748 | </xsl:copy> |
722 | 749 | </xsl:template> |
723 | 750 |
|
|
732 | 759 | <xsl:copy-of select="@*|node()"/> |
733 | 760 | <xsl:call-template name="NavigationRestrictionsTemplate"> |
734 | 761 | <xsl:with-param name="navigable">false</xsl:with-param> |
735 | | - </xsl:call-template> |
| 762 | + </xsl:call-template> |
736 | 763 | </xsl:copy> |
737 | 764 | </xsl:template> |
738 | 765 |
|
|
753 | 780 | </xsl:copy> |
754 | 781 | </xsl:template> |
755 | 782 |
|
| 783 | +<!-- Add Referenceable Annotations (for /$ref paths) --> |
| 784 | + <xsl:template match="edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='administrativeUnit']/edm:NavigationProperty[@Name='members']| |
| 785 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='connectorGroup']/edm:NavigationProperty[@Name='members']| |
| 786 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='directoryRole']/edm:NavigationProperty[@Name='members']| |
| 787 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='educationClass']/edm:NavigationProperty[@Name='members']| |
| 788 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='accessPackage']/edm:NavigationProperty[@Name='incompatibleAccessPackages']| |
| 789 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='accessPackage']/edm:NavigationProperty[@Name='incompatibleGroups']| |
| 790 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='application']/edm:NavigationProperty[@Name='owners']| |
| 791 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='application']/edm:NavigationProperty[@Name='tokenIssuancePolicies']| |
| 792 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='application']/edm:NavigationProperty[@Name='tokenLifetimePolicies']| |
| 793 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='application']/edm:NavigationProperty[@Name='appManagementPolicies']| |
| 794 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='b2cIdentityUserFlow']/edm:NavigationProperty[@Name='identityProviders']| |
| 795 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='b2xIdentityUserFlow']/edm:NavigationProperty[@Name='userFlowIdentityProviders']| |
| 796 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='connectedOrganization']/edm:NavigationProperty[@Name='externalSponsors']| |
| 797 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='connector']/edm:NavigationProperty[@Name='memberOf']| |
| 798 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='application']/edm:NavigationProperty[@Name='connectorGroup']| |
| 799 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='connectorGroup']/edm:NavigationProperty[@Name='members']| |
| 800 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='device']/edm:NavigationProperty[@Name='registeredOwners']| |
| 801 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='connector']/edm:NavigationProperty[@Name='registeredUsers']| |
| 802 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='sourceCollection']/edm:NavigationProperty[@Name='custodianSources']| |
| 803 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='sourceCollection']/edm:NavigationProperty[@Name='noncustodialSources']| |
| 804 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='educationAssignment']/edm:NavigationProperty[@Name='categories']| |
| 805 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='educationAssignment']/edm:NavigationProperty[@Name='rubric']| |
| 806 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='educationClass']/edm:NavigationProperty[@Name='members']| |
| 807 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='educationClass']/edm:NavigationProperty[@Name='teachers']| |
| 808 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='educationSchool']/edm:NavigationProperty[@Name='classes']| |
| 809 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='educationSchool']/edm:NavigationProperty[@Name='users']| |
| 810 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='featureRolloutPolicy']/edm:NavigationProperty[@Name='appliesTo']| |
| 811 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='group']/edm:NavigationProperty[@Name='acceptedSenders']| |
| 812 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='group']/edm:NavigationProperty[@Name='owners']| |
| 813 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='group']/edm:NavigationProperty[@Name='rejectedSenders']| |
| 814 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='mobilityManagementPolicy']/edm:NavigationProperty[@Name='includedGroups']| |
| 815 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='onPremisesAgent']/edm:NavigationProperty[@Name='agentGroups']| |
| 816 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='printerShare']/edm:NavigationProperty[@Name='allowedGroups']| |
| 817 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='printerShare']/edm:NavigationProperty[@Name='allowedUsers']| |
| 818 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='servicePrincipal']/edm:NavigationProperty[@Name='claimsMappingPolicies']| |
| 819 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='servicePrincipal']/edm:NavigationProperty[@Name='homeRealmDiscoveryPolicies']| |
| 820 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='servicePrincipal']/edm:NavigationProperty[@Name='owners']| |
| 821 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='user']/edm:NavigationProperty[@Name='manager']| |
| 822 | + edm:Schema[@Namespace='microsoft.graph']/edm:EntityType[@Name='connector']/edm:NavigationProperty[@Name='memberOf']| |
| 823 | + edm:Schema[@Namespace='microsoft.graph']/edm:ComplexType[@Name='userFlowApiConnectorConfiguration']/edm:NavigationProperty[@Name='postAttributeCollection']| |
| 824 | + edm:Schema[@Namespace='microsoft.graph']/edm:ComplexType[@Name='userFlowApiConnectorConfiguration']/edm:NavigationProperty[@Name='postFederationSignup']"> |
| 825 | + <xsl:copy> |
| 826 | + <xsl:apply-templates select="@* | node()"/> |
| 827 | + <xsl:call-template name="ReferenceableRestrictionsTemplate"> |
| 828 | + <xsl:with-param name="referenceable">true</xsl:with-param> |
| 829 | + </xsl:call-template> |
| 830 | + </xsl:copy> |
| 831 | + </xsl:template> |
| 832 | + |
756 | 833 | </xsl:stylesheet> |
0 commit comments