2017-06-22 14:49:02 -04:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
var apiMiddleware = require('./middleware');
|
2018-04-30 10:03:53 -04:00
|
|
|
var errorHandler = require('../../lib/errorHandler');
|
2017-06-22 14:49:02 -04:00
|
|
|
|
|
|
|
var multipart = require.main.require('connect-multiparty');
|
|
|
|
var uploadController = require.main.require('./src/controllers/uploads');
|
|
|
|
var meta = require.main.require('./src/meta');
|
|
|
|
|
2020-11-10 11:24:36 -05:00
|
|
|
module.exports = function (/* middleware */) {
|
2017-07-01 15:39:57 -04:00
|
|
|
var app = require('express').Router();
|
|
|
|
|
2020-11-10 11:24:36 -05:00
|
|
|
app.route('/upload').post(apiMiddleware.requireUser, multipart(), function (req, res, next) {
|
|
|
|
uploadController.upload(req, res, function (uploadedFile, callback) {
|
|
|
|
if (parseInt(meta.config.allowFileUploads, 10) !== 1) {
|
2017-07-01 15:39:57 -04:00
|
|
|
return callback(new Error('[[error:uploads-are-disabled]]'));
|
|
|
|
}
|
|
|
|
|
|
|
|
uploadController.uploadFile(req.user.uid, uploadedFile, callback);
|
|
|
|
}, next);
|
|
|
|
});
|
|
|
|
|
2018-04-30 10:03:53 -04:00
|
|
|
app.route('/maintenance')
|
2020-11-10 11:24:36 -05:00
|
|
|
.post(apiMiddleware.requireUser, apiMiddleware.requireAdmin, function (req, res) {
|
2018-04-30 10:03:53 -04:00
|
|
|
meta.configs.set('maintenanceMode', 1, function (err) {
|
2018-04-30 11:20:16 -04:00
|
|
|
return errorHandler.handle(err, res);
|
2020-11-10 11:24:36 -05:00
|
|
|
});
|
2018-04-30 10:03:53 -04:00
|
|
|
})
|
2020-11-10 11:24:36 -05:00
|
|
|
.delete(apiMiddleware.requireUser, apiMiddleware.requireAdmin, function (req, res) {
|
2018-04-30 10:03:53 -04:00
|
|
|
meta.configs.set('maintenanceMode', 0, function (err) {
|
2018-04-30 11:20:16 -04:00
|
|
|
return errorHandler.handle(err, res);
|
2020-11-10 11:24:36 -05:00
|
|
|
});
|
2018-04-30 10:03:53 -04:00
|
|
|
});
|
|
|
|
|
2017-07-01 15:39:57 -04:00
|
|
|
return app;
|
|
|
|
};
|