From 0088ba7068b8a098807a7f1df10385ab10e4f51d Mon Sep 17 00:00:00 2001 From: Brandon Cryderman Date: Wed, 17 Apr 2019 11:51:45 -0400 Subject: [PATCH] Add lamassu-revoke and lamassu-users (#270) * lamassu-list-users Lists registered users to the admin panel * Add in unregister function to revoke token access * Create lamassu-revoke * Changed name to lamassu-users * Update login.js * Update login.js * Add lamassu-users & lamassu revoke to package.json * Re-add missing comma. --- bin/lamassu-revoke | 20 ++++++++++++++++++++ bin/lamassu-users | 9 +++++++++ package.json | 4 +++- 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 bin/lamassu-revoke create mode 100644 bin/lamassu-users diff --git a/bin/lamassu-revoke b/bin/lamassu-revoke new file mode 100644 index 00000000..6b80b243 --- /dev/null +++ b/bin/lamassu-revoke @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +const db = require('../lib/db') + +const argv = process.argv.slice(2) + +if (argv.length !== 1) { + console.log('Usage: lamassu-revoke ') + console.log('Revokes admin panel access from a specific user.') + process.exit(1) +} + +const name = argv[0] + +const sql = `delete from user_tokens where name = $1 RETURNING *;` + +return db.result(sql, [name], r => r.rowCount) + .then(r => {if(r==0){console.log('could not find user.')} + else{console.log(name + ' removed successfully.')}}) +.then(() => process.exit(0)) diff --git a/bin/lamassu-users b/bin/lamassu-users new file mode 100644 index 00000000..804a7fdb --- /dev/null +++ b/bin/lamassu-users @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -e + +if [ "$(whoami)" != "root" ]; then + echo -e "This script has to be run as \033[1mroot\033[0m user" + exit 3 +fi + +su - postgres -c "psql \"lamassu\" -Atc \"select * from user_tokens\"" diff --git a/package.json b/package.json index 02674811..3bef4662 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,9 @@ "lamassu-ofac-update-sources": "./bin/lamassu-ofac-update-sources", "lamassu-devices": "./bin/lamassu-devices", "lamassu-operator": "./bin/lamassu-operator", - "lamassu-coinatmradar": "./bin/lamassu-coinatmradar" + "lamassu-coinatmradar": "./bin/lamassu-coinatmradar", + "lamassu-users": "./bin/lamassu-users", + "lamassu-revoke": "./bin/lamassu-revoke" }, "scripts": { "start": "node bin/lamassu-server",