Skip to content

Conversation

@FehintolaObafemi
Copy link
Contributor

@FehintolaObafemi FehintolaObafemi commented Oct 24, 2025

This pull request implements enhanced relationship member types for Microsoft Graph Bicep Types, introducing richer object structures for relationship members and adding support for the new v1.1 API version. The changes provide advanced filtering, referencing, and type-based operations while maintaining backward compatibility with existing v1.0 implementations. The update includes new schema definitions, version detection logic, and comprehensive test coverage.

Key changes grouped by theme:

Enhanced Relationship Member Types

  • Introduced a new object schema for relationship members (microsoft.graph.relationshipMember) that includes fields like id, type, displayName, userPrincipalName, appId, and uniqueName, enabling type-based filtering and richer object referencing in enhanced API versions.
  • Updated the schema generation logic in swaggerWriter.ts and type index building in generate.ts to conditionally use the enhanced relationship member structure for beta/1.1.0-preview and v1.1/0.1.1-preview versions, while maintaining string arrays for legacy versions.

API Versioning and Configuration

  • Added support for the v1.1 API version in the codebase, including updates to enums (ApiVersion), configuration files (extensionConfig.json), generation logic (extensionConfigForGeneration), and file path handling.

Documentation and Validation

  • Added a comprehensive proposal and documentation file (RELATIONSHIP_MEMBERS_PROPOSAL.md) detailing the motivation, schema changes, usage scenarios, migration paths, and validation results for the enhanced relationship member types.

Test and Metadata Updates

  • Ensured full test coverage for the new functionality (11/11 tests passing), and updated the msgraph-metadata submodule to reference the latest commit.

These changes enable advanced Microsoft Graph Bicep template scenarios with improved flexibility and maintainability, while ensuring existing implementations remain unaffected.

#235

Microsoft Reviewers: Open in CodeFlow

@FehintolaObafemi FehintolaObafemi force-pushed the FehintolaObafemi/RelationshipMembers branch from fe0c87d to 90d9eb0 Compare October 27, 2025 23:40
@FehintolaObafemi FehintolaObafemi force-pushed the FehintolaObafemi/RelationshipMembers branch from 90d9eb0 to 9296145 Compare November 18, 2025 18:06
"id": { "type": "string", "description": "The unique identifier..." },
"type": { "type": "string", "readOnly": true, "description": "The type of the relationship member..." },
"displayName": { "type": "string", "readOnly": true, "description": "The display name..." },
"userPrincipalName": { "type": "string", "readOnly": true, "description": "The user principal name..." },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirm the fields which are empty/unrelated to type are not returned.
For example, SP will be appId and not userPrincipalName... User is UPN, not appId... etc.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed

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.

3 participants