Move name validation code to core

This commit is contained in:
2025-12-15 14:45:45 +09:00
parent bf6027f507
commit 5f03b55eb5
8 changed files with 194 additions and 289 deletions

View File

@@ -1,10 +1,7 @@
use crate::{
core::{
common::UnixUser,
protocol::{CheckAuthorizationError, request_validation::AuthorizationError},
types::DbOrUser,
},
server::input_sanitization::{validate_name, validate_ownership_by_unix_user},
use crate::core::{
common::UnixUser,
protocol::{CheckAuthorizationError, request_validation::validate_db_or_user_request},
types::DbOrUser,
};
pub async fn check_authorization(
@@ -14,17 +11,8 @@ pub async fn check_authorization(
let mut results = std::collections::BTreeMap::new();
for db_or_user in dbs_or_users {
if let Err(err) = validate_name(db_or_user.name())
.map_err(AuthorizationError::SanitizationError)
.map_err(CheckAuthorizationError)
{
results.insert(db_or_user.clone(), Err(err));
continue;
}
if let Err(err) = validate_ownership_by_unix_user(db_or_user.name(), unix_user)
.map_err(AuthorizationError::OwnershipError)
.map_err(CheckAuthorizationError)
if let Err(err) =
validate_db_or_user_request(&db_or_user, unix_user).map_err(CheckAuthorizationError)
{
results.insert(db_or_user.clone(), Err(err));
continue;