Merge pull request #7721 from overleaf/jel-td-notify-commons

Only handle confirmed users via commons script

GitOrigin-RevId: 0d00147943228bff6c435848ff88481c5c184a8a
This commit is contained in:
Jessica Lawshe 2022-05-23 08:43:01 -05:00 committed by Copybot
parent 9253dac12f
commit fc9bfa84cd
3 changed files with 24 additions and 2 deletions

View file

@ -22,6 +22,17 @@ const InstitutionsAPI = {
)
},
getConfirmedInstitutionAffiliations(institutionId, callback) {
makeAffiliationRequest(
{
method: 'GET',
path: `/api/v2/institutions/${institutionId.toString()}/confirmed_affiliations`,
defaultErrorMessage: "Couldn't get institution affiliations",
},
(error, body) => callback(error, body || [])
)
},
getInstitutionAffiliationsCounts(institutionId, callback) {
makeAffiliationRequest(
{
@ -267,6 +278,7 @@ function makeAffiliationRequest(options, callback) {
}
;[
'getInstitutionAffiliations',
'getConfirmedInstitutionAffiliations',
'getUserAffiliations',
'addAffiliation',
'removeAffiliation',

View file

@ -4,6 +4,7 @@ const { ObjectId } = require('mongodb')
const Settings = require('@overleaf/settings')
const {
getInstitutionAffiliations,
getConfirmedInstitutionAffiliations,
promises: InstitutionsAPIPromises,
} = require('./InstitutionsAPI')
const FeaturesUpdater = require('../Subscription/FeaturesUpdater')
@ -261,8 +262,9 @@ const fetchInstitutionAndAffiliations = (institutionId, callback) =>
(institution, cb) =>
institution.fetchV1Data((err, institution) => cb(err, institution)),
(institution, cb) =>
getInstitutionAffiliations(institutionId, (err, affiliations) =>
cb(err, institution, affiliations)
getConfirmedInstitutionAffiliations(
institutionId,
(err, affiliations) => cb(err, institution, affiliations)
),
],
callback

View file

@ -13,6 +13,7 @@ describe('InstitutionsManager', function () {
this.institutionId = 123
this.user = {}
this.getInstitutionAffiliations = sinon.stub()
this.getConfirmedInstitutionAffiliations = sinon.stub()
this.refreshFeatures = sinon.stub().yields()
this.users = [
{ _id: 'lapsed', features: {} },
@ -95,11 +96,17 @@ describe('InstitutionsManager', function () {
requires: {
'./InstitutionsAPI': {
getInstitutionAffiliations: this.getInstitutionAffiliations,
getConfirmedInstitutionAffiliations:
this.getConfirmedInstitutionAffiliations,
promises: {
getInstitutionAffiliations:
(this.getInstitutionAffiliationsPromise = sinon
.stub()
.resolves(this.affiliations)),
getConfirmedInstitutionAffiliations:
(this.getConfirmedInstitutionAffiliationsPromise = sinon
.stub()
.resolves(this.affiliations)),
getInstitutionAffiliationsCounts:
(this.getInstitutionAffiliationsCounts = sinon
.stub()
@ -173,6 +180,7 @@ describe('InstitutionsManager', function () {
this.refreshFeatures.withArgs(this.user1Id).yields(null, {}, true)
this.getInstitutionAffiliations.yields(null, this.affiliations)
this.getConfirmedInstitutionAffiliations.yields(null, this.affiliations)
})
it('refresh all users Features', function (done) {