-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathupdateOrganisationFundingMetadata.js
30 lines (26 loc) · 1.26 KB
/
updateOrganisationFundingMetadata.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
load('../../utils/audit.js');
const adminUserId = 'system';
let organisations = db.organisation.find({'custom.details.funding':{$exists:true}});
while (organisations.hasNext()) {
let organisation = organisations.next();
let funding = organisation.custom.details.funding;
if (!funding) {
continue;
}
if (funding.rows.length != 1) {
print("Organisation " + organisation.organisationId + " has " + funding.rows.length + " funding rows");
}
const metadata = {
type: 'periodicallyRevisedTotal',
shortLabel: 'rcsContractedFunding',
description: 'RCS Contracted Funding'
};
if (funding.rows[0].type != metadata.type || funding.rows[0].shortLabel != metadata.shortLabel || funding.rows[0].description != metadata.description) {
print("Updating funding metadata for organisation " + organisation.organisationId+", "+organisation.name);
funding.rows[0].type = metadata.type;
funding.rows[0].shortLabel = metadata.shortLabel;
funding.rows[0].description = metadata.description;
db.organisation.replaceOne({organisationId: organisation.organisationId}, organisation);
audit(organisation, organisation.organisationId, 'au.org.ala.ecodata.Organisation', adminUserId);
}
}