diff --git a/api/helpers/aggregators.js b/api/helpers/aggregators.js index f163984..38b248f 100644 --- a/api/helpers/aggregators.js +++ b/api/helpers/aggregators.js @@ -261,38 +261,48 @@ const generateExpArray = async (field, roles, schemaName) => { } switch (item) { - case 'decisionDateStart': - for(let field of fields) { - handleDateStartItem(orArray, field, decodeURIComponent(entry)); - } - break; - case 'decisionDateEnd': - for(let field of fields) { - handleDateEndItem(orArray, field, decodeURIComponent(entry)); - } - break; - case 'dateAddedStart': - handleDateStartItem(orArray, ['dateAdded'], decodeURIComponent(entry)); - break; - case 'dateAddedEnd': - handleDateEndItem(orArray, ['dateAdded'], decodeURIComponent(entry)); - break; - case 'datePostedStart': - handleDateStartItem(orArray, ['datePosted'], decodeURIComponent(entry)); - break; - case 'datePostedEnd': - handleDateEndItem(orArray, ['datePosted'], decodeURIComponent(entry)); - break; - default: - if (schemaName === constants.PROJECT) { - for(let field of fields) { - orArray.push(getConvertedValue(field, decodeURIComponent(entry))); + case 'dateUpdatedStart': + for (let field of fields) { + handleDateStartItem(orArray, field, decodeURIComponent(entry)); } break; - } else { - orArray.push(getConvertedValue(fields[0], decodeURIComponent(entry))); + case 'dateUpdatedEnd': + for (let field of fields) { + handleDateEndItem(orArray, field, decodeURIComponent(entry)); + } break; - } + case 'decisionDateStart': + for (let field of fields) { + handleDateStartItem(orArray, field, decodeURIComponent(entry)); + } + break; + case 'decisionDateEnd': + for (let field of fields) { + handleDateEndItem(orArray, field, decodeURIComponent(entry)); + } + break; + case 'dateAddedStart': + handleDateStartItem(orArray, ['dateAdded'], decodeURIComponent(entry)); + break; + case 'dateAddedEnd': + handleDateEndItem(orArray, ['dateAdded'], decodeURIComponent(entry)); + break; + case 'datePostedStart': + handleDateStartItem(orArray, ['datePosted'], decodeURIComponent(entry)); + break; + case 'datePostedEnd': + handleDateEndItem(orArray, ['datePosted'], decodeURIComponent(entry)); + break; + default: + if (schemaName === constants.PROJECT) { + for (let field of fields) { + orArray.push(getConvertedValue(field, decodeURIComponent(entry))); + } + break; + } else { + orArray.push(getConvertedValue(fields[0], decodeURIComponent(entry))); + break; + } } expArray.push({ $or: orArray }); @@ -317,6 +327,10 @@ const handleProjectTerms = (item) => { item = 'decisionDate'; } + if (item === 'dateUpdatedStart' || item === 'dateUpdatedEnd') { + item = 'dateUpdated'; + } + // prepend for embedded fields let legislations = ['legislation_1996', 'legislation_2002', 'legislation_2018']; for (let legis of legislations) {