overleaf/services/web/app/src/Features/Institutions/InstitutionsGetter.js
Timothée Alby 3f5e90078e Merge pull request #2864 from overleaf/ta-institutions-decaf
Decaffeinate Institutions Code

GitOrigin-RevId: 520565d58518e499d2522653ba1ff9c232ebdb88
2020-06-03 10:30:46 +00:00

52 lines
1.5 KiB
JavaScript

let InstitutionsGetter
const UserGetter = require('../User/UserGetter')
const UserMembershipsHandler = require('../UserMembership/UserMembershipsHandler')
const UserMembershipEntityConfigs = require('../UserMembership/UserMembershipEntityConfigs')
module.exports = InstitutionsGetter = {
getConfirmedAffiliations(userId, callback) {
UserGetter.getUserFullEmails(userId, function(error, emailsData) {
if (error) {
return callback(error)
}
const confirmedAffiliations = emailsData
.filter(
emailData =>
emailData.confirmedAt &&
emailData.affiliation &&
emailData.affiliation.institution &&
emailData.affiliation.institution.confirmed
)
.map(emailData => emailData.affiliation)
callback(null, confirmedAffiliations)
})
},
getConfirmedInstitutions(userId, callback) {
InstitutionsGetter.getConfirmedAffiliations(
userId,
(error, confirmedAffiliations) => {
if (error) {
return callback(error)
}
const confirmedInstitutions = confirmedAffiliations.map(
confirmedAffiliation =>
confirmedAffiliation ? confirmedAffiliation.institution : undefined
)
callback(null, confirmedInstitutions)
}
)
},
getManagedInstitutions(userId, callback) {
UserMembershipsHandler.getEntitiesByUser(
UserMembershipEntityConfigs.institution,
userId,
callback
)
}
}