1005913c0b
* Encrypts all notes going to the database * Creates encrypted snippets for loading note title cards * Creates an encrypted search index when note is changed * Migrates users to encrypted notes on login * Creates new encrypted master keys for newly logged in users
57 lines
1.2 KiB
JavaScript
57 lines
1.2 KiB
JavaScript
var express = require('express')
|
|
var router = express.Router()
|
|
|
|
let User = require('@models/User');
|
|
const cs = require('@helpers/CryptoString')
|
|
|
|
// middleware that is specific to this router
|
|
router.use(function timeLog (req, res, next) {
|
|
// console.log('Time: ', Date.now())
|
|
next()
|
|
})
|
|
// define the home page route
|
|
router.get('/', function (req, res) {
|
|
res.send('User Home Page ' + User.getUsername())
|
|
})
|
|
// define the about route
|
|
router.get('/about', function (req, res) {
|
|
User.getUsername(req.headers.userId)
|
|
.then( data => res.send(data) )
|
|
})
|
|
// define the login route
|
|
router.post('/login', function (req, res) {
|
|
|
|
//Pull out variables we want
|
|
const username = req.body.username
|
|
const password = req.body.password
|
|
|
|
let returnData = {
|
|
success: false,
|
|
token: '',
|
|
username: ''
|
|
}
|
|
|
|
User.login(username, password)
|
|
.then( ({token, userId}) => {
|
|
|
|
returnData['username'] = username
|
|
returnData['token'] = token
|
|
returnData['success'] = true
|
|
|
|
res.send(returnData)
|
|
return
|
|
})
|
|
.catch(e => {
|
|
console.log(e)
|
|
res.send(returnData)
|
|
})
|
|
})
|
|
|
|
// fetch counts of users notes
|
|
router.post('/totals', function (req, res) {
|
|
User.getCounts(req.headers.userId)
|
|
.then( countsObject => res.send( countsObject ))
|
|
})
|
|
|
|
|
|
module.exports = router |