mirror of
https://github.com/overleaf/overleaf.git
synced 2024-09-23 02:55:13 -04:00
3f5e90078e
Decaffeinate Institutions Code GitOrigin-RevId: 520565d58518e499d2522653ba1ff9c232ebdb88
52 lines
1.5 KiB
JavaScript
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
|
|
)
|
|
}
|
|
}
|