client: add prefix completer for create-{db,user}
All checks were successful
All checks were successful
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
use clap::Parser;
|
||||
use clap_complete::ArgValueCompleter;
|
||||
use futures_util::SinkExt;
|
||||
use tokio_stream::StreamExt;
|
||||
|
||||
use crate::{
|
||||
client::commands::{erroneous_server_response, print_authorization_owner_hint},
|
||||
core::{
|
||||
completion::prefix_completer,
|
||||
protocol::{
|
||||
ClientToServerMessageStream, CreateDatabaseError, Request, Response,
|
||||
print_create_databases_output_status, print_create_databases_output_status_json,
|
||||
@@ -18,6 +20,7 @@ use crate::{
|
||||
pub struct CreateDbArgs {
|
||||
/// The MySQL database(s) to create
|
||||
#[arg(num_args = 1.., value_name = "DB_NAME")]
|
||||
#[cfg_attr(not(feature = "suid-sgid-mode"), arg(add = ArgValueCompleter::new(prefix_completer)))]
|
||||
name: Vec<MySQLDatabase>,
|
||||
|
||||
/// Print the information as JSON
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
use clap::Parser;
|
||||
use clap_complete::ArgValueCompleter;
|
||||
use dialoguer::Confirm;
|
||||
use futures_util::SinkExt;
|
||||
use tokio_stream::StreamExt;
|
||||
@@ -9,6 +10,7 @@ use crate::{
|
||||
read_password_from_stdin_with_double_check,
|
||||
},
|
||||
core::{
|
||||
completion::prefix_completer,
|
||||
protocol::{
|
||||
ClientToServerMessageStream, CreateUserError, Request, Response,
|
||||
print_create_users_output_status, print_create_users_output_status_json,
|
||||
@@ -22,6 +24,7 @@ use crate::{
|
||||
pub struct CreateUserArgs {
|
||||
/// The MySQL user(s) to create
|
||||
#[arg(num_args = 1.., value_name = "USER_NAME")]
|
||||
#[cfg_attr(not(feature = "suid-sgid-mode"), arg(add = ArgValueCompleter::new(prefix_completer)))]
|
||||
username: Vec<MySQLUser>,
|
||||
|
||||
/// Do not ask for a password, leave it unset
|
||||
|
||||
@@ -18,7 +18,7 @@ use crate::{
|
||||
},
|
||||
core::{
|
||||
bootstrap::bootstrap_server_connection_and_drop_privileges,
|
||||
completion::mysql_database_completer,
|
||||
completion::{mysql_database_completer, prefix_completer},
|
||||
database_privileges::DatabasePrivilegeRow,
|
||||
protocol::{
|
||||
ClientToServerMessageStream, ListPrivilegesError, Request, Response,
|
||||
@@ -124,6 +124,7 @@ pub enum Command {
|
||||
pub struct CreateArgs {
|
||||
/// The name of the DATABASE(s) to create.
|
||||
#[arg(num_args = 1..)]
|
||||
#[cfg_attr(not(feature = "suid-sgid-mode"), arg(add = ArgValueCompleter::new(prefix_completer)))]
|
||||
name: Vec<MySQLDatabase>,
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ use crate::{
|
||||
},
|
||||
core::{
|
||||
bootstrap::bootstrap_server_connection_and_drop_privileges,
|
||||
completion::mysql_user_completer,
|
||||
completion::{mysql_user_completer, prefix_completer},
|
||||
protocol::{
|
||||
ClientToServerMessageStream, Request, Response, create_client_to_server_message_stream,
|
||||
},
|
||||
@@ -87,6 +87,7 @@ pub enum Command {
|
||||
pub struct CreateArgs {
|
||||
/// The name of the USER(s) to create.
|
||||
#[arg(num_args = 1..)]
|
||||
#[cfg_attr(not(feature = "suid-sgid-mode"), arg(add = ArgValueCompleter::new(prefix_completer)))]
|
||||
name: Vec<MySQLUser>,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user