[web] Track if the email is confirmed/verified (#15818)

* Added email-verifed event

* added email provider

* check if the email is primary

* rename confirm email segmentation

* remove the segmentation because it duplicates verification-type

* move the response

* remove duplicate definition

---------

Co-authored-by: Domagoj Kriskovic <dom.kriskovic@overleaf.com>
GitOrigin-RevId: 2956467b46a883fc0ee00c26dd446ba82fa5be26
This commit is contained in:
Rebeka Dekany 2023-11-24 12:07:39 +01:00 committed by Copybot
parent 441cf1bb5b
commit fbf02b4856
2 changed files with 24 additions and 1 deletions

View file

@ -295,7 +295,29 @@ const UserEmailsController = {
'failed to add audit log entry'
)
}
res.sendStatus(200)
UserGetter.getUser(
userData.userId,
{ email: 1 },
function (error, user) {
if (error) {
logger.error(
{ error, userId: userData.userId },
'failed to get user'
)
}
const isPrimary = user?.email === userData.email
AnalyticsManager.recordEventForUser(
userData.userId,
'email-verified',
{
provider: 'email',
verification_type: 'link',
isPrimary,
}
)
res.sendStatus(200)
}
)
}
)
}

View file

@ -21,6 +21,7 @@ describe('UserEmailsController', function () {
}
this.UserGetter = {
getUser: sinon.stub().yields(),
getUserFullEmails: sinon.stub(),
getUserByAnyEmail: sinon.stub(),
promises: {