diff --git a/deploy/catchError.js b/deploy/catchError.js index a759a191bac20b02e7b6c854f993f37b1d34a6f7..cba45cc581ea605cafa6e66a4bfa6478c3536907 100644 --- a/deploy/catchError.js +++ b/deploy/catchError.js @@ -9,5 +9,5 @@ module.exports = (raw, req, res, next) => { trace, raw }) - res.status(code).send() + res.status(code || 500).end() } \ No newline at end of file diff --git a/deploy/datasets/query.js b/deploy/datasets/query.js index eb472dda6d2f56aaa576a8460e5fbe8cd9a2deab..ee21abfd4ffeca8c35f77cdfba01387e4ad9c08f 100644 --- a/deploy/datasets/query.js +++ b/deploy/datasets/query.js @@ -124,8 +124,11 @@ const populateSet = (flattenedRegions, set = new Set()) => { let juBrainSet = new Set(), shortBundleSet = new Set(), longBundleSet = new Set(), - waxholmSet = new Set(), - allenSet = new Set() + waxholm1Set = new Set(), + waxholm2Set = new Set(), + waxholm3Set = new Set(), + allen2015Set = new Set(), + allen2017Set = new Set() readConfigFile('colin.json') .then(data => JSON.parse(data)) @@ -160,7 +163,10 @@ readConfigFile('allenMouse.json') .then(data => JSON.parse(data)) .then(json => { const flattenedAllen = flattenArray(json.parcellations[0].regions) - allenSet = populateSet(flattenedAllen) + allen2017Set = populateSet(flattenedAllen) + + const flattenedAllen2017 = flattenArray(json.parcellations[1].regions) + allen2017Set = populateSet(flattenedAllen2017) }) const filterByPRSet = (prs, atlasPrSet = new Set()) => { @@ -183,19 +189,28 @@ const filter = (datasets = [], { templateName, parcellationName }) => datasets switch (parcellationName) { case 'JuBrain Cytoarchitectonic Atlas': useSet = juBrainSet - break; + break; case 'Fibre Bundle Atlas - Short Bundle': useSet = shortBundleSet - break; + break; case 'Fibre Bundle Atlas - Long Bundle': useSet = longBundleSet - break; - case 'Waxholm Space rat brain MRI/DTI': - useSet = waxholmSet - break; + break; + case 'Waxholm Space rat brain atlas v1': + useSet = waxholm1Set + break; + case 'Waxholm Space rat brain atlas v2': + useSet = waxholm2Set + break; + case 'Waxholm Space rat brain atlas v3': + useSet = waxholm3Set + break; case 'Allen Mouse Common Coordinate Framework v3 2015': - useSet = allenSet - break; + useSet = allen2015Set + break; + case 'Allen Mouse Common Coordinate Framework v3 2017': + useSet = allen2017Set + break; default: useSet = new Set() } diff --git a/deploy/datasets/supplements/commonSense.js b/deploy/datasets/supplements/commonSense.js index e0e85b55d44b94686710a452164b399adc07b4a8..e1c121925e104c9807f3708a8bfaf339af3ddd3f 100644 --- a/deploy/datasets/supplements/commonSense.js +++ b/deploy/datasets/supplements/commonSense.js @@ -7,8 +7,8 @@ const humanTemplateSet = new Set([ const humanParcellationSet = new Set([ 'Grey/White matter', - 'Area V1', - 'Area V2', + 'Cytoarchitectonic Maps', + 'BigBrain Cortical Layers Segmentation', 'JuBrain Cytoarchitectonic Atlas', 'Fibre Bundle Atlas - Short Bundle', 'Fibre Bundle Atlas - Long Bundle' @@ -19,7 +19,9 @@ const ratTemplateSet = new Set([ ]) const ratParcellationSet = new Set([ - 'Waxholm Space rat brain MRI/DTI' + 'Waxholm Space rat brain atlas v1', + 'Waxholm Space rat brain atlas v2', + 'Waxholm Space rat brain atlas v3' ]) const mouseTemplateSet = new Set([ @@ -27,6 +29,7 @@ const mouseTemplateSet = new Set([ ]) const mouseParcellationSet = new Set([ + 'Allen Mouse Common Coordinate Framework v3 2017', 'Allen Mouse Common Coordinate Framework v3 2015' ]) diff --git a/deploy/datasets/supplements/previewFile.js b/deploy/datasets/supplements/previewFile.js index 311ec7d273becf80a84d74615128924cb302551a..2600b01bb9615dab3c7ee4aa18878405bfb18070 100644 --- a/deploy/datasets/supplements/previewFile.js +++ b/deploy/datasets/supplements/previewFile.js @@ -35,23 +35,26 @@ Promise.all([ console.error('preview file error', e) }) -exports.getPreviewFile = ({ datasetName, templateSelected }) => Promise.resolve( - previewMap.get(datasetName) - .filter(({ templateSpace }) => { - if (!templateSpace) return true - if (!templateSelected) return true - return templateSpace === templateSelected - }) - .map(file => { - return { - ...file, - ...(file.url && !/^http/.test(file.url) - ? { - url: `${HOSTNAME}/${file.url}` +exports.getPreviewFile = ({ datasetName, templateSelected }) => previewMap.get(datasetName) + ? Promise.resolve( + previewMap.get(datasetName) + .filter(({ templateSpace }) => { + if (!templateSpace) return true + if (!templateSelected) return true + return templateSpace === templateSelected + }) + .map(file => { + return { + ...file, + ...(file.url && !/^http/.test(file.url) + ? { + url: `${HOSTNAME}/${file.url}` + } + : {}) } - : {}) - } - }) -) + }) + ) + : Promise.reject(`Preview file cannot be found!`) + exports.getAllPreviewDSNames = () => Array.from(previewMap.keys()) exports.hasPreview = ({ datasetName }) => previewMapKeySet.has(datasetName) \ No newline at end of file