summaryrefslogtreecommitdiff
path: root/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'index.js')
-rw-r--r--index.js150
1 files changed, 5 insertions, 145 deletions
diff --git a/index.js b/index.js
index c380e87..d0c8d1c 100644
--- a/index.js
+++ b/index.js
@@ -1,147 +1,7 @@
+import {} from 'dotenv/config'
-require('dotenv').load()
-
-var fs = require('fs')
-var app, express = require('express')
-var http = require('http')
-var bodyParser = require('body-parser')
-var path = require('path')
-
-var multer = require('multer')
-var upload = multer({ dest: 'uploads/' })
-
-var app, server
-
-const db = require('./lib/db')
-
-var site = module.exports = {}
-
-site.init = function(){
- app = express()
- app.use(express.static(path.join(__dirname, './public')))
- app.use(bodyParser.json())
- app.use(bodyParser.urlencoded({ extended: false }))
-
- app.use(express.query())
-
- server = http.createServer(app).listen(process.env.PORT, function () {
- console.log('Cortex listening at http://localhost:%s', server.address().port)
- })
-
- const api_folders = crud(app, 'folder', db.Folder, {
- afterCreate: (folder) => {
- fs.mkdir('public/data/' + folder.id + '/', function(){
- console.log('created folder', folder.id, folder.name)
- })
- }
- })
- const api_files = crud(app, 'file', db.File)
- const api_jobs = crud(app, 'job', db.Job)
- const api_tasks = crud(app, 'task', db.Task)
-
- app.post('/folders/:id', upload.array('file'), function(req, res){
- if ( ! req.files ) return;
- let loaded = {};
- ( req.files || [] ).forEach( (file) => {
- loaded[file.filename] = false
- const fn = file.originalname
- fs.rename(file.path, 'public/data/' + req.params.id + '/' + fn, function(err){
- api_files.create({
- // table.string('username')
- 'folder_id': req.params.id,
- 'name': fn,
- 'size': file.size,
- 'generated': false,
- 'processed': false,
- }).then( (file) => {
- loaded[file.filename] = file.toJSON()
- if (Object.keys(loaded).some( el => !! el )) {
- res.json( Object.keys(loaded).map(k=>loaded[k]).sort((a,b) => { b.id - a.id }) )
- }
- }).catch( (err) => {
- console.warn(err)
- res.sendStatus(500)
- })
- })
- })
- })
-
- function crud(app, type_s, model, callbacks){
- callbacks = callbacks || {}
- const type = '/' + type_s + 's/'
- const type_id = type + ':id'
-
- const crud = db.crud(type_s, model)
-
- // index
- app.get(type, (req, res) => {
- console.log('index', type)
- crud.index(req.query).then( (data) => {
- res.json(data ? data.toJSON() : [])
- })
-// }).catch( () => res.sendStatus(500) )
- })
-
- // show
- app.get(type_id, (req, res) => {
- console.log('show', type, req.params.id)
- crud.show(req.params.id).then( (data) => {
- // console.log(data)
- res.json(data.toJSON())
- })// .catch( (err) => res.sendStatus(500) )
- })
-
- // create
- app.post(type, (req, res) => {
- console.log('create', type)
- crud.create(req.body).then( (data) => {
- res.json(data.toJSON())
- callbacks.afterCreate && callbacks.afterCreate(data.toJSON())
- })// .catch( () => res.sendStatus(500) )
- })
-
- // update
- app.put(type_id, (req, res) => {
- console.log('update', type, req.params.id)
- crud.update(req.body.id, req.body).then( (data) => {
- res.json(data.toJSON())
- })// .catch( () => res.sendStatus(500) )
- })
-
- // destroy
- app.delete(type_id, (req, res) => {
- console.log('destroy', type, req.params.id)
- crud.destroy(req.params.id).then( (data) => {
- res.json(data.toJSON())
- })// .catch( () => res.sendStatus(500) )
- })
-
- return crud
- }
-}
-// app.get("/p/:id", function(req, res){
-// res.sendFile("index.html", {root: './public'})
-// })
-// app.get("/get/random", function(req, res){
-// db.getRandom().then(function(img){
-// res.json(img)
-// })
-// })
-// app.get("/get/latest", function(req, res){
-// db.getLatest().then(function(img){
-// res.json(img)
-// })
-// })
-// app.get("/get/:id/hotlink", function(req, res){
-// db.getImage(req.params.id).then(function(img){
-// res.redirect(img.url)
-// })
-// })
-// app.get("/get/:id", function(req, res){
-// db.getImage(req.params.id).then(function(img){
-// res.json(img)
-// })
-// })
-
-site.init()
+import Bridge from './lib/bridge'
+const bridge = new Bridge
+import server from './lib/server'
+server.init(bridge)