Skip to content

Conversation

@rido-min
Copy link
Member

fixes #276

Refactored MeetingParticipant to use MeetingInfo and Conversation properties, removing Id, Role, IsOrganizer, and JoinTime. Changed GetParticipantAsync to require tenantId and updated its request URL. Added OnConversationUpdate handler and GetMeetingId helper in Program.cs. Updated unit tests to match new method signature and data structure.

This pull request updates the MeetingParticipant model and related API methods to improve how meeting participant details are retrieved and represented. The changes primarily focus on restructuring the participant data, updating API signatures to support tenant scoping, and adjusting tests and sample usage accordingly.

API and Model Updates:

  • The GetParticipantAsync method in MeetingClient now requires a tenantId parameter and encodes all path and query parameters for safety.
  • The MeetingParticipant class has been refactored: properties like Id, Role, IsOrganizer, and JoinTime were removed, and new properties Meeting (of type MeetingInfo) and Conversation were added to better encapsulate participant context.
  • A new MeetingInfo class was introduced to hold meeting-specific participant details such as Role and InMeeting.

Sample and Test Adjustments:

  • The sample app (Program.cs) now demonstrates how to extract the meeting ID from activity channel data and fetch participant details using the updated API signature, including the new tenantId parameter.
  • Tests for MeetingClient.GetParticipantAsync were updated to reflect the new method signature and model structure, ensuring correct property mapping and URL construction. [1] [2]

Minor Cleanups:

  • Unused usings were removed and necessary ones added in the sample app for clarity and correctness.

Refactored MeetingParticipant to use MeetingInfo and Conversation properties, removing Id, Role, IsOrganizer, and JoinTime. Changed GetParticipantAsync to require tenantId and updated its request URL. Added OnConversationUpdate handler and GetMeetingId helper in Program.cs. Updated unit tests to match new method signature and data structure.
Copilot AI review requested due to automatic review settings January 21, 2026 16:30
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request refactors the GetParticipantAsync API method to require a tenantId parameter and restructures the MeetingParticipant model to better encapsulate meeting context. The changes remove individual properties like Id, Role, IsOrganizer, and JoinTime from MeetingParticipant, replacing them with structured Meeting and Conversation properties. A new MeetingInfo class was introduced to hold meeting-specific details.

Changes:

  • Updated GetParticipantAsync to require tenantId parameter with URL path encoding for meetingId and id
  • Refactored MeetingParticipant model structure with new MeetingInfo and Conversation properties
  • Added sample implementation in Program.cs demonstrating meeting ID extraction and participant retrieval

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 7 comments.

File Description
Libraries/Microsoft.Teams.Api/Clients/MeetingClient.cs Updated API signature for GetParticipantAsync, refactored MeetingParticipant model, and added MeetingInfo class
Tests/Microsoft.Teams.Api.Tests/Clients/MeetingClientTests.cs Updated test to reflect new method signature and validate new data structure
Samples/Samples.Meetings/Program.cs Added OnConversationUpdate handler and GetMeetingId helper to demonstrate new API usage

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

rido-min and others added 3 commits January 21, 2026 11:34
- Properly URL-encode tenantId in GetParticipantAsync for safety.
- Add MeetingInfo class to represent participant role/status.
- Add XML docs to MeetingParticipant properties.
- Remove OnConversationUpdate handler and GetMeetingId helper for simplicity.
Copilot AI review requested due to automatic review settings January 21, 2026 19:37
@rido-min
Copy link
Member Author

@copilot can you review this PR again and resolve the conversations?

Copy link
Contributor

Copilot AI commented Jan 21, 2026

@rido-min I've opened a new pull request, #279, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@rido-min rido-min merged commit 0759c59 into main Jan 22, 2026
15 checks passed
@rido-min rido-min deleted the fix/276-meetingClient branch January 22, 2026 01:13
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.

Cannot get meeting participants

3 participants