filesafe/routes/nojs.js
Bobby Wibowo dd43acecea
Updates
* Added VSCode settings to git repo. Now you can match yours with mine, if you want.

* Added .jsbeautifyrc for js-beautify (to be used by VSCode's Beautify extension).

* Refactored all instances of require('**/*.js') with require('**/*') wherever applicable (basically gotten rid of the .js extension).

* Refactored path in all instances of require() wherever applicable.

* Sorted instances of require() wherever applicable.

* Fixed 500 HTTP error trying to load an error page for 505 HTTP error.

* Removed special treatement of NoJS page from uploadsController.processFilesForDisplay().

* Updated version string of all static files.

* Beautified all HTML, HANDLEBARS and CSS files.

* Refactored the structure of footer links in homepage and No-JS uploader. This should now fix homepage going out-of-bound in smaller screens.

* Added CSS prefixes wherever applicable.

* Improved back-end side of No-JS uploader. This will now handle errors properly.

* No-JS uploader will now show max file size.

* No-JS uploader will now show a proper message when private mode is enabled and/or registration is disabled.
2018-04-13 23:20:57 +07:00

41 lines
1.0 KiB
JavaScript

const config = require('./../config')
const routes = require('express').Router()
const uploadController = require('./../controllers/uploadController')
const renderOptions = {
layout: false,
uploadDisabled: false,
maxFileSize: config.uploads.maxSize
}
if (config.private) {
if (config.enableUserAccounts) {
renderOptions.uploadDisabled = 'Anonymous upload is disabled.'
} else {
renderOptions.uploadDisabled = 'Running in private mode.'
}
}
routes.get('/nojs', async (req, res, next) => {
return res.render('nojs', renderOptions)
})
routes.post('/nojs', (req, res, next) => {
res._json = res.json
res.json = (...args) => {
const result = args[0]
const _renderOptions = {}
Object.assign(_renderOptions, renderOptions)
_renderOptions.errorMessage = result.success ? '' : (result.description || 'An unexpected error occurred.')
_renderOptions.files = result.files || [{}]
return res.render('nojs', _renderOptions)
}
return uploadController.upload(req, res, next)
})
module.exports = routes