diff --git a/src/client/commands/check_auth.rs b/src/client/commands/check_auth.rs index 3d0caf9..1988c4b 100644 --- a/src/client/commands/check_auth.rs +++ b/src/client/commands/check_auth.rs @@ -63,5 +63,9 @@ pub async fn check_authorization( print_check_authorization_output_status(&result); } + if result.values().any(|res| res.is_err()) { + std::process::exit(1); + } + Ok(()) } diff --git a/src/client/commands/create_db.rs b/src/client/commands/create_db.rs index bba186e..b59ee26 100644 --- a/src/client/commands/create_db.rs +++ b/src/client/commands/create_db.rs @@ -60,5 +60,9 @@ pub async fn create_databases( server_connection.send(Request::Exit).await?; + if result.values().any(|res| res.is_err()) { + std::process::exit(1); + } + Ok(()) } diff --git a/src/client/commands/create_user.rs b/src/client/commands/create_user.rs index b4f7461..26cd14c 100644 --- a/src/client/commands/create_user.rs +++ b/src/client/commands/create_user.rs @@ -107,5 +107,9 @@ pub async fn create_users( server_connection.send(Request::Exit).await?; + if result.values().any(|res| res.is_err()) { + std::process::exit(1); + } + Ok(()) } diff --git a/src/client/commands/drop_db.rs b/src/client/commands/drop_db.rs index f30619b..1ec732c 100644 --- a/src/client/commands/drop_db.rs +++ b/src/client/commands/drop_db.rs @@ -86,5 +86,9 @@ pub async fn drop_databases( server_connection.send(Request::Exit).await?; + if result.values().any(|res| res.is_err()) { + std::process::exit(1); + } + Ok(()) } diff --git a/src/client/commands/drop_user.rs b/src/client/commands/drop_user.rs index db70610..9597920 100644 --- a/src/client/commands/drop_user.rs +++ b/src/client/commands/drop_user.rs @@ -90,5 +90,9 @@ pub async fn drop_users( server_connection.send(Request::Exit).await?; + if result.values().any(|res| res.is_err()) { + std::process::exit(1); + } + Ok(()) } diff --git a/src/client/commands/edit_privs.rs b/src/client/commands/edit_privs.rs index 8924abf..2110d0e 100644 --- a/src/client/commands/edit_privs.rs +++ b/src/client/commands/edit_privs.rs @@ -291,6 +291,10 @@ pub async fn edit_database_privileges( server_connection.send(Request::Exit).await?; + if result.values().any(|res| res.is_err()) { + std::process::exit(1); + } + Ok(()) } diff --git a/src/client/commands/lock_user.rs b/src/client/commands/lock_user.rs index 2e8af16..1d21b41 100644 --- a/src/client/commands/lock_user.rs +++ b/src/client/commands/lock_user.rs @@ -67,5 +67,9 @@ pub async fn lock_users( server_connection.send(Request::Exit).await?; + if result.values().any(|res| res.is_err()) { + std::process::exit(1); + } + Ok(()) } diff --git a/src/client/commands/passwd_user.rs b/src/client/commands/passwd_user.rs index 48b2365..8898028 100644 --- a/src/client/commands/passwd_user.rs +++ b/src/client/commands/passwd_user.rs @@ -116,5 +116,9 @@ pub async fn passwd_user( server_connection.send(Request::Exit).await?; + if result.is_err() { + std::process::exit(1); + } + Ok(()) } diff --git a/src/client/commands/show_db.rs b/src/client/commands/show_db.rs index 5712bad..e23e70b 100644 --- a/src/client/commands/show_db.rs +++ b/src/client/commands/show_db.rs @@ -26,10 +26,6 @@ pub struct ShowDbArgs { /// Print the information as JSON #[arg(short, long)] json: bool, - - /// Return a non-zero exit code if any of the results were erroneous - #[arg(short, long)] - fail: bool, } pub async fn show_databases( @@ -80,7 +76,7 @@ pub async fn show_databases( server_connection.send(Request::Exit).await?; - if args.fail && databases.values().any(|res| res.is_err()) { + if databases.values().any(|res| res.is_err()) { std::process::exit(1); } diff --git a/src/client/commands/show_privs.rs b/src/client/commands/show_privs.rs index 51fc3b3..dae5808 100644 --- a/src/client/commands/show_privs.rs +++ b/src/client/commands/show_privs.rs @@ -33,10 +33,6 @@ pub struct ShowPrivsArgs { /// This flag has no effect when used with --json #[arg(short, long)] long: bool, - - /// Return a non-zero exit code if any of the results were erroneous - #[arg(short, long)] - fail: bool, } pub async fn show_database_privileges( @@ -88,7 +84,7 @@ pub async fn show_database_privileges( server_connection.send(Request::Exit).await?; - if args.fail && privilege_data.values().any(|res| res.is_err()) { + if privilege_data.values().any(|res| res.is_err()) { std::process::exit(1); } diff --git a/src/client/commands/show_user.rs b/src/client/commands/show_user.rs index b723597..a9ec892 100644 --- a/src/client/commands/show_user.rs +++ b/src/client/commands/show_user.rs @@ -26,10 +26,6 @@ pub struct ShowUserArgs { /// Print the information as JSON #[arg(short, long)] json: bool, - - /// Return a non-zero exit code if any of the results were erroneous - #[arg(short, long)] - fail: bool, } pub async fn show_users( @@ -83,7 +79,7 @@ pub async fn show_users( server_connection.send(Request::Exit).await?; - if args.fail && users.values().any(|result| result.is_err()) { + if users.values().any(|result| result.is_err()) { std::process::exit(1); } diff --git a/src/client/commands/unlock_user.rs b/src/client/commands/unlock_user.rs index fe5ead0..a4c6f3b 100644 --- a/src/client/commands/unlock_user.rs +++ b/src/client/commands/unlock_user.rs @@ -67,5 +67,9 @@ pub async fn unlock_users( server_connection.send(Request::Exit).await?; + if result.values().any(|result| result.is_err()) { + std::process::exit(1); + } + Ok(()) }