use actix_web::HttpResponse;
use super::identifier_validation::validate_identifier;
use super::query_contracts::ConstraintQuery;
use super::request_param_contracts::NormalizedConstraintQuery;
const DEFAULT_SCHEMA_NAME: &str = "public";
pub(super) fn normalize_constraint_query(
query: &ConstraintQuery,
) -> Result<NormalizedConstraintQuery, HttpResponse> {
let table_name = validate_identifier(&query.table_name, "table_name")?;
let table_schema = match query.table_schema.as_deref() {
Some(value) => validate_identifier(value, "table_schema")?,
None => DEFAULT_SCHEMA_NAME.to_string(),
};
Ok(NormalizedConstraintQuery {
table_name,
table_schema,
})
}