summaryrefslogtreecommitdiffstats
path: root/rust/src/bin/fatcat-auth.rs
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2018-12-27 21:06:09 -0800
committerBryan Newbold <bnewbold@robocracy.org>2018-12-27 21:06:09 -0800
commitfa1892834a4650bf2e85215a3270e309d3e9f1c9 (patch)
treedd676f82952df845527fe0c1e1aa6965cdb9f0b2 /rust/src/bin/fatcat-auth.rs
parent26438d2392eb68345ee7eff204b85c6471ce59c2 (diff)
downloadfatcat-fa1892834a4650bf2e85215a3270e309d3e9f1c9.tar.gz
fatcat-fa1892834a4650bf2e85215a3270e309d3e9f1c9.zip
more basic work on auth
Diffstat (limited to 'rust/src/bin/fatcat-auth.rs')
-rw-r--r--rust/src/bin/fatcat-auth.rs36
1 files changed, 20 insertions, 16 deletions
diff --git a/rust/src/bin/fatcat-auth.rs b/rust/src/bin/fatcat-auth.rs
index a5fedc1f..9b4550d8 100644
--- a/rust/src/bin/fatcat-auth.rs
+++ b/rust/src/bin/fatcat-auth.rs
@@ -1,13 +1,13 @@
//! JSON Export Helper
-#[macro_use]
+//#[macro_use]
extern crate clap;
extern crate diesel;
extern crate dotenv;
#[macro_use]
extern crate error_chain;
extern crate fatcat;
-#[macro_use]
+//#[macro_use]
extern crate log;
extern crate env_logger;
extern crate serde_json;
@@ -23,12 +23,12 @@ use fatcat::ConnectionPool;
use fatcat::errors::*;
use fatcat::api_helpers::FatCatId;
use std::str::FromStr;
-use uuid::Uuid;
+//use uuid::Uuid;
-use error_chain::ChainedError;
+//use error_chain::ChainedError;
//use std::io::{Stdout,StdoutLock};
-use std::io::prelude::*;
-use std::io::{BufReader, BufWriter};
+//use std::io::prelude::*;
+//use std::io::{BufReader, BufWriter};
/// Instantiate a new API server with a pooled database connection
@@ -72,24 +72,29 @@ fn run() -> Result<()> {
.subcommand(
SubCommand::with_name("inspect-token")
.about("Dumps token metadata (and whether it is valid)")
+ .args_from_usage(
+ "<token> 'base64-encoded token (macaroon)'"
+ )
)
.subcommand(
SubCommand::with_name("revoke-tokens")
.about("Resets auth_epoch for a single editor (invalidating all existing tokens)")
+ .args_from_usage(
+ "<editor-id> 'identifier (fcid) of editor'"
+ )
)
.subcommand(
- SubCommand::with_name("revoke-tokens-all")
+ SubCommand::with_name("revoke-tokens-everyone")
.about("Resets auth_epoch for all editors (invalidating tokens for all users!)")
)
.get_matches();
+ let db_conn = database_worker_pool()?.get().expect("database pool");
match m.subcommand() {
("list-editors", Some(_subm)) => {
- let db_conn = database_worker_pool()?.get().expect("database pool");
fatcat::auth::print_editors(&db_conn)?;
},
("create-editor", Some(subm)) => {
- let db_conn = database_worker_pool()?.get().expect("database pool");
let editor = fatcat::auth::create_editor(
&db_conn,
subm.value_of("username").unwrap().to_string(),
@@ -99,21 +104,20 @@ fn run() -> Result<()> {
println!("{}", FatCatId::from_uuid(&editor.id).to_string());
},
("create-token", Some(subm)) => {
- let db_conn = database_worker_pool()?.get().expect("database pool");
- let editor_id = FatCatId::from_str(subm.value_of("editor").unwrap())?;
- fatcat::auth::create_token(&db_conn, editor_id, None)?;
+ let editor_id = FatCatId::from_str(subm.value_of("editor-id").unwrap())?;
+ println!("{}", fatcat::auth::create_token(&db_conn, editor_id, None)?);
},
("inspect-token", Some(subm)) => {
- fatcat::auth::inspect_token(subm.value_of("token").unwrap())?;
+ fatcat::auth::inspect_token(&db_conn, subm.value_of("token").unwrap())?;
},
("revoke-tokens", Some(subm)) => {
- let db_conn = database_worker_pool()?.get().expect("database pool");
- let editor_id = FatCatId::from_str(subm.value_of("editor").unwrap())?;
+ let editor_id = FatCatId::from_str(subm.value_of("editor-id").unwrap())?;
fatcat::auth::revoke_tokens(&db_conn, editor_id)?;
+ println!("success!");
},
("revoke-tokens-everyone", Some(_subm)) => {
- let db_conn = database_worker_pool()?.get().expect("database pool");
fatcat::auth::revoke_tokens_everyone(&db_conn)?;
+ println!("success!");
},
_ => {
println!("Missing or unimplemented command!");