create compatibility layer for mysql-admutils commands
This commit is contained in:
@@ -62,7 +62,30 @@ pub fn create_user_group_matching_regex(user: &User) -> String {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn validate_prefix_for_user<'a>(name: &'a str, user: &User) -> anyhow::Result<&'a str> {
|
||||
pub fn validate_name_token(name: &str) -> anyhow::Result<()> {
|
||||
if name.is_empty() {
|
||||
anyhow::bail!("Database name cannot be empty.");
|
||||
}
|
||||
|
||||
if name.len() > 64 {
|
||||
anyhow::bail!("Database name is too long. Maximum length is 64 characters.");
|
||||
}
|
||||
|
||||
if !name.chars().all(|c| c.is_ascii_alphanumeric() || c == '_' || c == '-') {
|
||||
anyhow::bail!(
|
||||
indoc! {r#"
|
||||
Invalid characters in name: '{}'
|
||||
|
||||
Only A-Z, a-z, 0-9, _ (underscore) and - (dash) are permitted.
|
||||
"#},
|
||||
name
|
||||
);
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn validate_ownership_by_user_prefix<'a>(name: &'a str, user: &User) -> anyhow::Result<&'a str> {
|
||||
let user_groups = get_unix_groups(user)?;
|
||||
|
||||
let mut split_name = name.split('_');
|
||||
|
Reference in New Issue
Block a user