diff --git a/server/db.js b/server/db.js index 6e5b2918b404d1b6ee075e3c73f423513c52ad7c..511b089f16aa9c972f75cc14c7207d160aae94db 100644 --- a/server/db.js +++ b/server/db.js @@ -10,7 +10,6 @@ pool.on('error', (err) => { console.log(err); }); -// TODO: Figure out the perfect db layout, or get the one from IDA const seed = ` CREATE TABLE IF NOT EXISTS external_users ( id SERIAL, @@ -19,6 +18,14 @@ CREATE TABLE IF NOT EXISTS external_users ( username VARCHAR(256) NOT NULL, date_added TIMESTAMP DEFAULT NOW() ); + +CREATE TABLE IF NOT EXISTS audit_events ( + id SERIAL, + event VARCHAR(32) NOT NULL, + user_id INTEGER NOT NULL, + message TEXT, + timestamp TIMESTAMP DEFAULT NOW() +); `; module.exports = pool; diff --git a/server/users.js b/server/users.js index f4d296cc0dbfa5dbc3df42c2d48656407803ac38..8d0ba76859ede96f04659ba9d6684b083c25ec0f 100644 --- a/server/users.js +++ b/server/users.js @@ -59,6 +59,18 @@ router.post('/', async (req, res) => { console.log("> Response:"); console.log(data); + try { + const queryText = 'INSERT INTO audit_events(event, user_id, message) VALUES($1, $2, $3)'; + console.log("> DB Query:"); + console.log(queryText); + const auditresp = await db.query(queryText, ['user.create', req.user.id, `Created account: ${dbResponse.body.name} <${dbResponse.body.email}>, username: ${dbResponse.body.username}`]); + console.log("> DB Response:"); + console.log(auditresp); + } catch(err) { + console.log("> DB Error:"); + console.log(err); + } + try { const queryText = 'UPDATE external_users SET user_id = $2 WHERE id = $1'; console.log("> DB Query:");