var fs = require('fs') var express = require('express') var http = require('http') var path = require('path') var bodyParser = require('body-parser') // var multer = require('multer') // var upload = multer({ dest: 'uploads/' }) var app = new express() var server = http.createServer(app) app.disable('x-powered-by') app.use(bodyParser.json({ limit: '100mb', })) app.use(bodyParser.urlencoded({ extended: false, limit: '100mb', })) app.use(express.static(path.join(__dirname, 'public'), { extensions: ['html'] })) app.use(express.query()) var DATA_DIR = './public/data/' var DATA_FILE = DATA_DIR + 'order.json' var dirs = fs.readdirSync(DATA_DIR).map(file => { if (file.indexOf('.') === 0 || ! fs.lstatSync(DATA_DIR + file).isDirectory() ) { return null } return file }).filter(n => !!n) app.get('/api/list', (req, res) => { console.log('/api/list') var list = dirs.map(file => { return { name: file, files: fs.readdirSync(DATA_DIR + file).filter(f => f[0] !== '.'), } }) res.json({ order: fs.existsSync(DATA_FILE) ? JSON.parse(fs.readFileSync(DATA_FILE).toString('utf-8')) : { pairs: [] }, list, }) }) app.post('/api/save', (req, res) => { console.log('/api/save') // console.log(req.body) var data = JSON.stringify(req.body) if (data.length > 3) { fs.writeFileSync(DATA_FILE, data) } res.json({status: 'ok' }) }) server.listen(process.env.EXPRESS_PORT || 8000, () => { console.log('Wave sort listening on http://localhost:' + server.address().port) })