var express = require('express') var multer = require('multer') var upload = multer({ storage: multer.diskStorage({}) }) module.exports = function (missionsManager) { var router = express.Router() router.get('/', function (req, res) { missionsManager.list(function (err, missions) { if (err) { res.status(500).send(err) } else { res.json(missions) } }) }) router.post('/', upload.single('mission'), function (req, res) { var missionFile = req.file if (!missionFile) { return res.status(400).send('No mission file uploaded') } missionsManager.handleUpload(missionFile, function (err) { if (err) { res.status(500).send(err) } else { res.status(200).json({success: true}) } }) }) router.get('/:mission', function (req, res) { var filename = req.params.mission res.download(missionsManager.missionPath(filename), decodeURI(filename)) }) router.delete('/:mission', function (req, res) { var filename = req.params.mission missionsManager.delete(filename, function (err) { if (err) { res.status(500).send(err) } else { res.json({success: true}) } }) }) router.post('/workshop', function (req, res) { var id = req.body.id missionsManager.downloadSteamWorkshop(id, function (err, files) { if (err) { res.status(500).send(err) } else { res.json({success: true}) } }) }) return router }