-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Azure.Communication.Common] Added support for rawId ⟷ CommunicationIdentifier conversion #28574
[Azure.Communication.Common] Added support for rawId ⟷ CommunicationIdentifier conversion #28574
Conversation
API change check for API changes have been detected in |
API change check for API changes are not detected in this pull request for |
sdk/communication/Azure.Communication.Common/src/CommunicationIdentifier.cs
Show resolved
Hide resolved
API change check for API changes are not detected in this pull request for |
API change check for API changes are not detected in this pull request for |
sdk/communication/Azure.Communication.Common/src/PhoneNumberIdentifier.cs
Outdated
Show resolved
Hide resolved
sdk/communication/Azure.Communication.Common/src/PhoneNumberIdentifier.cs
Show resolved
Hide resolved
sdk/communication/Azure.Communication.Common/src/PhoneNumberIdentifier.cs
Outdated
Show resolved
Hide resolved
sdk/communication/Azure.Communication.Common/src/PhoneNumberIdentifier.cs
Show resolved
Hide resolved
sdk/communication/Azure.Communication.Common/src/CommunicationIdentifier.cs
Show resolved
Hide resolved
API change check APIView has identified API level changes in this PR and created following API reviews. |
sdk/communication/Azure.Communication.Common/src/CommunicationIdentifier.cs
Show resolved
Hide resolved
…dentifier conversion (Azure#28574) * Added support for rawId<->CommunicationIdentifier conversion * fixed tests * fixed compiler suggestions * updated generated api surface * fixed tests + added serialization of rawid for communication user * fixing recordings Azure#1 - for chat * update recordings with serialized rawId * add a changelog record for rawId (de)serialization * adjusted comments * gethashcode adjustments * lazy property init * updated api * testing that CommunicationIdentifier subclasses implement RawId
…dentifier conversion (Azure#28574) * Added support for rawId<->CommunicationIdentifier conversion * fixed tests * fixed compiler suggestions * updated generated api surface * fixed tests + added serialization of rawid for communication user * fixing recordings Azure#1 - for chat * update recordings with serialized rawId * add a changelog record for rawId (de)serialization * adjusted comments * gethashcode adjustments * lazy property init * updated api * testing that CommunicationIdentifier subclasses implement RawId
Packages impacted by this PR
Issues associated with this PR
Describe the problem that is addressed by this PR
The
CommunicationIdentifier
design provides a good abstraction of Azure Communication Services internal id format with better type safety, auto-complete and hides internal knowledge.However, it doesn't lend well to storing identifiers in a database or using them as keys because there is no clear canonical way how to encode them. This PR introduces translation functions that lets developers use the underlying
rawId
for these purposes.Details Internal wiki
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
See the Internal wiki
Are there test cases added in this PR?
Provide a list of related PRs (if any)
Checklists