Added security policies to all endpoints and implemented file upload feature on posts
This commit is contained in:
@@ -4,6 +4,8 @@ const pool = require('../../db');
|
||||
const crypto = require('crypto');
|
||||
const { promisify } = require('util');
|
||||
const { sanitizeLoginInput } = require('../../middleware/sanitize_person_input');
|
||||
const { strictInput } = require('../../middleware/strict_input');
|
||||
const { signToken } = require('../../middleware/authenticate_token');
|
||||
|
||||
const scrypt = promisify(crypto.scrypt);
|
||||
|
||||
@@ -32,7 +34,8 @@ async function login(req, res) {
|
||||
return;
|
||||
}
|
||||
|
||||
res.status(200).json({ id: rows[0].id });
|
||||
const { token, expiresAt } = signToken(rows[0].id);
|
||||
res.status(200).json({ id: rows[0].id, token, expires_at: expiresAt });
|
||||
}
|
||||
catch (err) {
|
||||
console.error('login failed', { message: err.message, code: err.code });
|
||||
@@ -40,5 +43,5 @@ async function login(req, res) {
|
||||
}
|
||||
};
|
||||
|
||||
router.post('/', sanitizeLoginInput, login);
|
||||
router.post('/', strictInput({ body: ['email', 'password'] }), sanitizeLoginInput, login);
|
||||
module.exports = router;
|
||||
|
||||
@@ -5,6 +5,7 @@ const pool = require('../../db');
|
||||
var crypto = require('crypto');
|
||||
const { promisify } = require('util');
|
||||
const { sanitizePersonInput } = require('../../middleware/sanitize_person_input');
|
||||
const { strictInput } = require('../../middleware/strict_input');
|
||||
|
||||
const scrypt = promisify(crypto.scrypt);
|
||||
|
||||
@@ -84,5 +85,5 @@ async function create_people(req, res) {
|
||||
};
|
||||
|
||||
|
||||
router.post('/', sanitizePersonInput, create_people);
|
||||
router.post('/', strictInput({ body: ['name', 'username', 'email', 'password'] }), sanitizePersonInput, create_people);
|
||||
module.exports = router;
|
||||
|
||||
Reference in New Issue
Block a user