-
Notifications
You must be signed in to change notification settings - Fork 195
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
Update getMeetingDetailsVerbose Interface #2489
base: main
Are you sure you want to change the base?
Conversation
* @hidden | ||
* Hide from docs. | ||
*/ | ||
export class EmailAddress { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you could put this in its own file (emailAddress.ts) in this folder I would really appreciate it. Same for the unit tests being in their own test file. I'd really like us to start using classes like this in other capabilities as well, so moving this to its own file will make it easier to find and share.
If you do this, remember to add the class to the index.ts file (look for where the appId.ts
file is referenced for an example)
@@ -2260,4 +2266,26 @@ describe('meeting', () => { | |||
}); | |||
}); | |||
}); | |||
describe('utility', () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please split these into separate tests (one test for each invalid case, and then a single test for all of the valid ones together is probably okay) This will make it more obvious what is wrong if something breaks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just one last request to split EmailAddress and its test into separate files
…OfficeDev/microsoft-teams-library-js into johnsle/update_caller_interface
@@ -0,0 +1,6 @@ | |||
export function validateEmailAddress(emailString: string): void { | |||
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; | |||
if (!emailRegex.test(emailString)) { |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
For more information about how to contribute to this repo, visit this page.
Description
This PR modifies the return interface of the
getMeetingDetailsVerbose
API. Specifically, theresponse.details.originalCaller
andresponse.details.dialedEntity
properties.originalCaller
represents the caller of a call, anddialedEntity
represents the callee. Those two properties originally were of typestring
, and the return value could've been either an email or phone number in string format.With this change, two additional properties were added to replace them:
originalCallerInfo
anddialedEntityInfo
. Those two properties are of a new typeICallParticipantIdentifiers
. This new typeICallParticipantIdentifiers
is an object that has 2 explicit fields forphoneNumber
andemail
.This new type serves two purposes: 1. The returned value is more explicitly defined 2. The response can return both a phone number and email if that information can be retrieved.
In addition, this change also a new optional property,
callId
.This PR is a follow up to the original PR that first introduced the
getMeetingDetailsVerbose
API:#2206
Main changes in the PR:
ICallParticipantIdentifiers
response.details.originalCaller
andresponse.details.dialedEntity
response.details.originalCallerInfo
andresponse.details.dialedEntityInfo
of the new interfaceICallParticipantIdentifiers
callId
Validation
Validation performed:
response.details.originalCaller
andresponse.details.dialedEntity
properties in a supported hostUnit Tests added:
Updated existing test
End-to-end tests added:
Updated existing test
Additional Requirements
Change file added:
Yes, added change file
Related PRs:
Original getMeetingDetailsVerbose PR: #2206