Skip to content
Snippets Groups Projects
Commit 683cd787 authored by Xiao Gui's avatar Xiao Gui
Browse files

bugfix: preview receptor bm

parent cd503d48
No related branches found
No related tags found
No related merge requests found
......@@ -40,10 +40,11 @@ configureAuth(app)
.then(() => console.log('configure auth properly'))
.catch(e => console.error('configure auth failed', e))
const publicPath = process.env.NODE_ENV === 'production'
const PUBLIC_PATH = process.env.NODE_ENV === 'production'
? path.join(__dirname, 'public')
: path.join(__dirname, '..', 'dist', 'aot')
app.use(express.static(publicPath))
app.use(express.static(PUBLIC_PATH))
app.use((req, res, next) => {
res.set('Content-Type', 'application/json')
......
const express = require('express')
const path = require('path')
const fs = require('fs')
const datasetsRouter = express.Router()
const { init, getDatasets, getPreview } = require('./query')
......@@ -67,4 +69,28 @@ datasetsRouter.get('/preview/:datasetName', (req, res, next) => {
})
})
const previewFileMap = new Map()
const PUBLIC_PATH = process.env.NODE_ENV === 'production'
? path.join(__dirname, '..', 'public')
: path.join(__dirname, '..', '..', 'dist', 'aot')
const RECEPTOR_PATH = path.join(PUBLIC_PATH, 'res', 'image', 'receptor')
fs.readdir(RECEPTOR_PATH, (err, files) => {
if (err)
console.log('reading receptor error', err)
files.forEach(file => previewFileMap.set(`res/image/receptor/${file}`, path.join(RECEPTOR_PATH, file)))
})
datasetsRouter.get('/previewFile', (req, res) => {
const { file } = req.query
const filePath = previewFileMap.get(file)
if (filePath) {
fs.createReadStream(filePath).pipe(res)
} else {
res.status(404).send()
}
})
module.exports = datasetsRouter
\ No newline at end of file
source diff could not be displayed: it is too large. Options to address this: view the blob.
......@@ -4,6 +4,7 @@ const path = require('path')
const DISABLE_RECEPTOR_PREVIEW = process.env.DISABLE_RECEPTOR_PREVIEW
const DISABLE_JUBRAIN_PMAP = process.env.DISABLE_JUBRAIN_PMAP
const DISABLE_DWM_PMAP = process.env.DISABLE_DWM_PMAP
const HOSTNAME = process.env.HOSTNAME || 'http://localhost:3000'
let previewMap = new Map(),
previewMapKeySet = new Set()
......@@ -32,6 +33,18 @@ Promise.all([
console.error('preview file error', e)
})
exports.getPreviewFile = ({ datasetName }) => Promise.resolve(previewMap.get(datasetName))
exports.getPreviewFile = ({ datasetName }) => Promise.resolve(
previewMap.get(datasetName)
.map(file => {
return {
...file,
...(file.url && !/^http/.test(file.url)
? {
url: `${HOSTNAME}/${file.url}`
}
: {})
}
})
)
exports.getAllPreviewDSNames = () => Array.from(previewMap.keys())
exports.hasPreview = ({ datasetName }) => previewMapKeySet.has(datasetName)
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment