var express = require('express') var router = express.Router() let Notes = require('@models/Note'); let ShareNote = require('@models/ShareNote'); let userId = null let socket = null // middleware that is specific to this router router.use(function setUserId (req, res, next) { if(req.headers.userId){ userId = req.headers.userId } if(req.headers.socket){ // socket = req. } next() }) // // Note actions // router.post('/get', function (req, res) { req.io.emit('welcome_homie', 'Welcome, dont poop from excitement') Notes.get(userId, req.body.noteId) .then( data => { //Join room when user opens note // req.io.join('note_room') res.send(data) }) }) router.post('/delete', function (req, res) { Notes.delete(userId, req.body.noteId) .then( data => res.send(data) ) }) router.post('/create', function (req, res) { Notes.create(userId, req.body.title) .then( id => res.send({id}) ) }) router.post('/update', function (req, res) { Notes.update(userId, req.body.noteId, req.body.text, req.body.color, req.body.pinned, req.body.archived) .then( id => res.send({id}) ) }) router.post('/search', function (req, res) { Notes.search(userId, req.body.searchQuery, req.body.searchTags, req.body.fastFilters) .then( notesAndTags => { res.send(notesAndTags) }) }) router.post('/difftext', function (req, res) { Notes.getDiffText(userId, req.body.noteId, req.body.text, req.body.updated) .then( fullDiffText => { //Response should be full diff text res.send(fullDiffText) }) }) // // Share Note Actions // router.post('/getshareusers', function (req, res) { ShareNote.getUsers(userId, req.body.rawTextId) .then(results => res.send(results)) }) router.post('/shareadduser', function (req, res) { ShareNote.addUser(userId, req.body.noteId, req.body.rawTextId, req.body.username) .then(results => res.send(results)) }) router.post('/shareremoveuser', function (req, res) { ShareNote.removeUser(userId, req.body.noteId) .then(results => res.send(results)) }) // // Testing Action // //Reindex all notes. Not a very good function, not public router.get('/reindex5yu43prchuj903mrc', function (req, res) { Notes.migrateNoteTextToNewTable().then(status => { return res.send(status) }) }) module.exports = router