var express = require('express')
var router = express.Router()

let Tags = require('@models/Tag');
let userId = null

// middleware that is specific to this router
router.use(function setUserId (req, res, next) {
	if(userId = req.headers.userId){
		userId = req.headers.userId
	}
	
	next()
})

//Get the latest notes the user has created
router.post('/suggest', function (req, res) {
	Tags.suggest(userId, req.body.noteId, req.body.tagText)
	.then( data => res.send(data) )
})

//Get latest tags based on when it was put on a note
router.post('/latest', function (req, res) {
	Tags.latest(userId, req.body.noteId)
	.then( data => res.send(data) )
})

//Get the latest notes the user has created
router.post('/addtonote', function (req, res) {
	Tags.addToNote(userId, req.body.noteId, req.body.tagText.toLowerCase())
	.then( data => res.send(data) )
})

router.post('/removefromnote', function (req, res) {
	Tags.removeTagFromNote(userId, req.body.tagId)
	.then( data => res.send(data) )
})

//Get the latest notes the user has created
router.post('/get', function (req, res) {
	Tags.get(userId, req.body.noteId)
	.then( data => res.send(data) )
})

//Get all the tags for this user in order of usage
router.post('/usertags', function (req, res) {
	Tags.userTags(userId)
	.then( data => res.send(data) )
})

module.exports = router