summaryrefslogtreecommitdiff
path: root/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'index.js')
-rw-r--r--index.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/index.js b/index.js
new file mode 100644
index 0000000..9ddc5ba
--- /dev/null
+++ b/index.js
@@ -0,0 +1,55 @@
+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)
+})