diff --git a/Cargo.lock b/Cargo.lock index da8c41e03..475767f4e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3804,6 +3804,7 @@ dependencies = [ "twitch_api2", "twitch_common", "twitch_oauth2", + "user_input_common", "uuid", ] @@ -4538,6 +4539,17 @@ dependencies = [ "percent-encoding 2.1.0", ] +[[package]] +name = "user_input_common" +version = "0.0.1" +dependencies = [ + "anyhow", + "container_common", + "log", + "once_cell", + "regex", +] + [[package]] name = "utf-8" version = "0.7.6" diff --git a/Cargo.toml b/Cargo.toml index 590406f5a..f23c3c84b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,6 +9,7 @@ members = [ "crates/lib/redis_common", "crates/lib/tts_common", "crates/lib/twitch_common", + "crates/lib/user_input_common", # Application "crates/service/obs_gateway", diff --git a/crates/lib/user_input_common/Cargo.toml b/crates/lib/user_input_common/Cargo.toml new file mode 100644 index 000000000..d70974e35 --- /dev/null +++ b/crates/lib/user_input_common/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "user_input_common" +edition = "2018" +version = "0.0.1" +authors = [ + "Brandon Thomas ", + "Brandon Thomas ", +] +publish = false + +[lib] +name = "user_input_common" +path = "src/lib.rs" + +[dependencies] + +# Internal +container_common = { path = "../container_common" } + +# External +anyhow = "1.0.40" +log = "0.4.14" +once_cell = "1.9.0" +regex = "1.5.4" diff --git a/crates/service/storyteller_web/src/validations/check_for_slurs.rs b/crates/lib/user_input_common/src/check_for_slurs.rs similarity index 81% rename from crates/service/storyteller_web/src/validations/check_for_slurs.rs rename to crates/lib/user_input_common/src/check_for_slurs.rs index c89f4b524..b156af1e2 100644 --- a/crates/service/storyteller_web/src/validations/check_for_slurs.rs +++ b/crates/lib/user_input_common/src/check_for_slurs.rs @@ -1,15 +1,16 @@ -use std::collections::HashSet; use crate::BANNED_SLURS; +use once_cell::sync::Lazy; +use std::collections::HashSet; -pub fn contains_slurs(unparsed_text: &str) -> bool { - lazy_static! { - static ref BANNED_SLURS_SET : HashSet = BANNED_SLURS.lines() +static BANNED_SLURS_SET : Lazy> = Lazy::new(|| { + BANNED_SLURS.lines() .map(|line| line.trim()) .filter(|line| !(line.starts_with("#") || line.is_empty())) .map(|line| line.to_string()) - .collect::>(); - } + .collect::>() +}); +pub fn contains_slurs(unparsed_text: &str) -> bool { for wordlike in unparsed_text.split_ascii_whitespace() { if BANNED_SLURS_SET.contains(wordlike) { return true; @@ -21,7 +22,7 @@ pub fn contains_slurs(unparsed_text: &str) -> bool { #[cfg(test)] mod tests { - use crate::validations::check_for_slurs::contains_slurs; + use crate::check_for_slurs::contains_slurs; #[test] fn valid_text_passes() { diff --git a/crates/lib/user_input_common/src/lib.rs b/crates/lib/user_input_common/src/lib.rs new file mode 100644 index 000000000..cf09c33ec --- /dev/null +++ b/crates/lib/user_input_common/src/lib.rs @@ -0,0 +1,12 @@ +#![forbid(dead_code)] +#![forbid(non_snake_case)] +#![forbid(private_in_public)] +#![forbid(unused_imports)] +#![forbid(unused_must_use)] // Important +#![forbid(unused_mut)] +#![forbid(unused_variables)] +#![forbid(warnings)] + +pub (crate) const BANNED_SLURS : &'static str = include_str!("../../../../db/banned_slurs.txt"); + +pub mod check_for_slurs; diff --git a/crates/service/storyteller_web/Cargo.toml b/crates/service/storyteller_web/Cargo.toml index f90aae2e1..e75ad56a4 100644 --- a/crates/service/storyteller_web/Cargo.toml +++ b/crates/service/storyteller_web/Cargo.toml @@ -45,6 +45,7 @@ http_server_common = { path = "../../lib/http_server_common" } redis_common = { path = "../../lib/redis_common" } tts_common = { path = "../../lib/tts_common" } twitch_common = { path = "../../lib/twitch_common" } +user_input_common = { path = "../../lib/user_input_common" } # External anyhow = "1.0.40" diff --git a/crates/service/storyteller_web/src/http_server/endpoints/categories/assign_tts_category.rs b/crates/service/storyteller_web/src/http_server/endpoints/categories/assign_tts_category.rs index b7b4974f6..f5a94b0be 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/categories/assign_tts_category.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/categories/assign_tts_category.rs @@ -17,7 +17,6 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; use crate::util::markdown_to_html::markdown_to_html; -use crate::validations::check_for_slurs::contains_slurs; use http_server_common::response::serialize_as_json_error::serialize_as_json_error; use log::{info, warn, log}; use regex::Regex; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/categories/create_category.rs b/crates/service/storyteller_web/src/http_server/endpoints/categories/create_category.rs index b04633a3d..7359dac18 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/categories/create_category.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/categories/create_category.rs @@ -14,7 +14,6 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; use crate::util::markdown_to_html::markdown_to_html; -use crate::validations::check_for_slurs::contains_slurs; use database_queries::tokens::Tokens; use http_server_common::response::serialize_as_json_error::serialize_as_json_error; use log::{info, warn, log}; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/categories/get_category.rs b/crates/service/storyteller_web/src/http_server/endpoints/categories/get_category.rs index a37faa176..ae6e0c3b2 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/categories/get_category.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/categories/get_category.rs @@ -17,7 +17,6 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; use crate::util::markdown_to_html::markdown_to_html; -use crate::validations::check_for_slurs::contains_slurs; use http_server_common::response::serialize_as_json_error::serialize_as_json_error; use log::{info, warn, log}; use regex::Regex; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/categories/list_tts_categories.rs b/crates/service/storyteller_web/src/http_server/endpoints/categories/list_tts_categories.rs index 9b1e24fbb..6b2d8db10 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/categories/list_tts_categories.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/categories/list_tts_categories.rs @@ -16,7 +16,6 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; use crate::util::markdown_to_html::markdown_to_html; -use crate::validations::check_for_slurs::contains_slurs; use http_server_common::response::serialize_as_json_error::serialize_as_json_error; use lexical_sort::natural_lexical_cmp; use log::{info, warn, log}; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/categories/list_tts_model_assigned_categories.rs b/crates/service/storyteller_web/src/http_server/endpoints/categories/list_tts_model_assigned_categories.rs index cae8e86b5..5de3a6fbf 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/categories/list_tts_model_assigned_categories.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/categories/list_tts_model_assigned_categories.rs @@ -15,7 +15,6 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; use crate::util::markdown_to_html::markdown_to_html; -use crate::validations::check_for_slurs::contains_slurs; use http_server_common::response::serialize_as_json_error::serialize_as_json_error; use log::{info, warn, log}; use regex::Regex; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/moderation/categories/delete_category.rs b/crates/service/storyteller_web/src/http_server/endpoints/moderation/categories/delete_category.rs index 5e1824495..d6d3241a9 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/moderation/categories/delete_category.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/moderation/categories/delete_category.rs @@ -14,7 +14,6 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; use crate::util::markdown_to_html::markdown_to_html; -use crate::validations::check_for_slurs::contains_slurs; use log::{info, warn, log}; use regex::Regex; use sqlx::MySqlPool; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/moderation/categories/edit_category.rs b/crates/service/storyteller_web/src/http_server/endpoints/moderation/categories/edit_category.rs index 918615d94..3396691ec 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/moderation/categories/edit_category.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/moderation/categories/edit_category.rs @@ -14,7 +14,6 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; use crate::util::markdown_to_html::markdown_to_html; -use crate::validations::check_for_slurs::contains_slurs; use http_server_common::response::serialize_as_json_error::serialize_as_json_error; use log::{info, warn, log}; use regex::Regex; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/moderation/categories/list_tts_categories_for_moderation.rs b/crates/service/storyteller_web/src/http_server/endpoints/moderation/categories/list_tts_categories_for_moderation.rs index 651ad3740..56339bce9 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/moderation/categories/list_tts_categories_for_moderation.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/moderation/categories/list_tts_categories_for_moderation.rs @@ -16,7 +16,6 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; use crate::util::markdown_to_html::markdown_to_html; -use crate::validations::check_for_slurs::contains_slurs; use http_server_common::response::serialize_as_json_error::serialize_as_json_error; use log::{info, warn, log}; use regex::Regex; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/add_ip_ban.rs b/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/add_ip_ban.rs index 8fed04bdd..80ee8f251 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/add_ip_ban.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/add_ip_ban.rs @@ -10,7 +10,6 @@ use crate::http_server::web_utils::ip_address::get_request_ip; use crate::http_server::web_utils::response_error_helpers::to_simple_json_error; use crate::http_server::web_utils::response_success_helpers::simple_json_success; use crate::server_state::ServerState; -use crate::validations::check_for_slurs::contains_slurs; use crate::validations::ip_addresses::validate_moderator_provided_ip_address; use crate::validations::model_uploads::validate_model_title; use crate::validations::passwords::validate_passwords; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/delete_ip_ban.rs b/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/delete_ip_ban.rs index 4e9f66897..211637b92 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/delete_ip_ban.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/delete_ip_ban.rs @@ -11,7 +11,6 @@ use crate::http_server::web_utils::ip_address::get_request_ip; use crate::http_server::web_utils::response_error_helpers::to_simple_json_error; use crate::http_server::web_utils::response_success_helpers::simple_json_success; use crate::server_state::ServerState; -use crate::validations::check_for_slurs::contains_slurs; use crate::validations::model_uploads::validate_model_title; use crate::validations::passwords::validate_passwords; use crate::validations::username::validate_username; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/get_ip_ban.rs b/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/get_ip_ban.rs index de9dc9e5e..bac117d54 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/get_ip_ban.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/get_ip_ban.rs @@ -12,7 +12,6 @@ use crate::http_server::web_utils::ip_address::get_request_ip; use crate::http_server::web_utils::response_error_helpers::to_simple_json_error; use crate::http_server::web_utils::response_success_helpers::simple_json_success; use crate::server_state::ServerState; -use crate::validations::check_for_slurs::contains_slurs; use crate::validations::model_uploads::validate_model_title; use crate::validations::passwords::validate_passwords; use crate::validations::username::validate_username; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/list_ip_bans.rs b/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/list_ip_bans.rs index c2dcd340f..dff560f6c 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/list_ip_bans.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/moderation/ip_bans/list_ip_bans.rs @@ -12,7 +12,6 @@ use crate::http_server::web_utils::ip_address::get_request_ip; use crate::http_server::web_utils::response_error_helpers::to_simple_json_error; use crate::http_server::web_utils::response_success_helpers::simple_json_success; use crate::server_state::ServerState; -use crate::validations::check_for_slurs::contains_slurs; use crate::validations::model_uploads::validate_model_title; use crate::validations::passwords::validate_passwords; use crate::validations::username::validate_username; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/moderation/user_roles/list_roles.rs b/crates/service/storyteller_web/src/http_server/endpoints/moderation/user_roles/list_roles.rs index 80c4ac4e0..99b57c558 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/moderation/user_roles/list_roles.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/moderation/user_roles/list_roles.rs @@ -14,7 +14,6 @@ use crate::http_server::web_utils::ip_address::get_request_ip; use crate::http_server::web_utils::response_error_helpers::to_simple_json_error; use crate::http_server::web_utils::response_success_helpers::simple_json_success; use crate::server_state::ServerState; -use crate::validations::check_for_slurs::contains_slurs; use crate::validations::model_uploads::validate_model_title; use crate::validations::passwords::validate_passwords; use crate::validations::username::validate_username; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/moderation/user_roles/list_staff.rs b/crates/service/storyteller_web/src/http_server/endpoints/moderation/user_roles/list_staff.rs index 62db7bd59..25d103bff 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/moderation/user_roles/list_staff.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/moderation/user_roles/list_staff.rs @@ -12,7 +12,6 @@ use crate::http_server::web_utils::ip_address::get_request_ip; use crate::http_server::web_utils::response_error_helpers::to_simple_json_error; use crate::http_server::web_utils::response_success_helpers::simple_json_success; use crate::server_state::ServerState; -use crate::validations::check_for_slurs::contains_slurs; use crate::validations::model_uploads::validate_model_title; use crate::validations::passwords::validate_passwords; use crate::validations::username::validate_username; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/tts/edit_tts_model.rs b/crates/service/storyteller_web/src/http_server/endpoints/tts/edit_tts_model.rs index a302df5b3..0bf16df60 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/tts/edit_tts_model.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/tts/edit_tts_model.rs @@ -1,12 +1,13 @@ use actix_http::Error; use actix_http::http::header; -use actix_web::cookie::Cookie; use actix_web::HttpResponseBuilder; +use actix_web::cookie::Cookie; use actix_web::error::ResponseError; use actix_web::http::StatusCode; use actix_web::web::{Path, Json}; use actix_web::{Responder, web, HttpResponse, error, HttpRequest}; use crate::database::enums::record_visibility::RecordVisibility; +use crate::database::enums::vocoder_type::VocoderType; use crate::database::queries::query_tts_model::select_tts_model_by_token; use crate::http_server::web_utils::ip_address::get_request_ip; use crate::http_server::web_utils::response_error_helpers::to_simple_json_error; @@ -14,7 +15,6 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; use crate::util::markdown_to_html::markdown_to_html; -use crate::validations::check_for_slurs::contains_slurs; use derive_more::{Display, Error}; use log::{info, warn, log}; use regex::Regex; @@ -23,7 +23,7 @@ use sqlx::error::DatabaseError; use sqlx::error::Error::Database; use sqlx::mysql::MySqlDatabaseError; use std::sync::Arc; -use crate::database::enums::vocoder_type::VocoderType; +use user_input_common::check_for_slurs::contains_slurs; /// For the URL PathInfo #[derive(Deserialize)] diff --git a/crates/service/storyteller_web/src/http_server/endpoints/tts/edit_tts_result.rs b/crates/service/storyteller_web/src/http_server/endpoints/tts/edit_tts_result.rs index 0273fff1c..17a9b88ea 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/tts/edit_tts_result.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/tts/edit_tts_result.rs @@ -15,7 +15,6 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; use crate::util::markdown_to_html::markdown_to_html; -use crate::validations::check_for_slurs::contains_slurs; use derive_more::{Display, Error}; use log::{info, warn, log}; use regex::Regex; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/tts/enqueue_infer_tts.rs b/crates/service/storyteller_web/src/http_server/endpoints/tts/enqueue_infer_tts.rs index 04648edc4..fa8d6541c 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/tts/enqueue_infer_tts.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/tts/enqueue_infer_tts.rs @@ -10,7 +10,6 @@ use crate::database::helpers::enums::{DownloadUrlType, W2lTemplateType}; use crate::http_server::web_utils::ip_address::get_request_ip; use crate::http_server::web_utils::response_error_helpers::to_simple_json_error; use crate::server_state::ServerState; -use crate::validations::check_for_slurs::contains_slurs; use crate::validations::model_uploads::validate_model_title; use crate::validations::passwords::validate_passwords; use crate::validations::username::validate_username; @@ -24,6 +23,7 @@ use sqlx::error::DatabaseError; use sqlx::error::Error::Database; use sqlx::mysql::MySqlDatabaseError; use std::sync::Arc; +use user_input_common::check_for_slurs::contains_slurs; #[derive(Deserialize)] pub struct InferTtsRequest { diff --git a/crates/service/storyteller_web/src/http_server/endpoints/users/create_account.rs b/crates/service/storyteller_web/src/http_server/endpoints/users/create_account.rs index 16bd4e627..c0da63640 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/users/create_account.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/users/create_account.rs @@ -1,7 +1,7 @@ use actix_http::Error; use actix_http::http::header; -use actix_web::cookie::Cookie; use actix_web::HttpResponseBuilder; +use actix_web::cookie::Cookie; use actix_web::error::ResponseError; use actix_web::http::StatusCode; use actix_web::{Responder, web, HttpResponse, error, HttpRequest}; @@ -12,7 +12,6 @@ use crate::http_server::web_utils::response_error_helpers::to_simple_json_error; use crate::http_server::web_utils::serialize_as_json_error::serialize_as_json_error; use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; -use crate::validations::check_for_slurs::contains_slurs; use crate::validations::passwords::validate_passwords; use crate::validations::username::validate_username; use crate::validations::username_reservations::is_reserved_username; @@ -27,6 +26,7 @@ use std::collections::HashMap; use std::fmt::Formatter; use std::fmt; use std::sync::Arc; +use user_input_common::check_for_slurs::contains_slurs; const NEW_USER_ROLE: &'static str = "user"; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/users/edit_profile.rs b/crates/service/storyteller_web/src/http_server/endpoints/users/edit_profile.rs index 6e21a70d8..a1053d21b 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/users/edit_profile.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/users/edit_profile.rs @@ -1,7 +1,7 @@ use actix_http::Error; use actix_http::http::header; -use actix_web::cookie::Cookie; use actix_web::HttpResponseBuilder; +use actix_web::cookie::Cookie; use actix_web::error::ResponseError; use actix_web::http::StatusCode; use actix_web::web::Path; @@ -15,7 +15,6 @@ use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; use crate::util::markdown_to_html::markdown_to_html; use crate::validations::cashapp_username::{validate_cashapp_username, normalize_cashapp_username_for_storage}; -use crate::validations::check_for_slurs::contains_slurs; use crate::validations::discord_username::validate_discord_username; use crate::validations::github_username::validate_github_username; use crate::validations::passwords::validate_passwords; @@ -31,6 +30,7 @@ use sqlx::error::DatabaseError; use sqlx::error::Error::Database; use sqlx::mysql::MySqlDatabaseError; use std::sync::Arc; +use user_input_common::check_for_slurs::contains_slurs; /// For the URL PathInfo #[derive(Deserialize)] diff --git a/crates/service/storyteller_web/src/http_server/endpoints/w2l/edit_w2l_result.rs b/crates/service/storyteller_web/src/http_server/endpoints/w2l/edit_w2l_result.rs index 0c23e1346..d514e7565 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/w2l/edit_w2l_result.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/w2l/edit_w2l_result.rs @@ -14,7 +14,6 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; use crate::util::markdown_to_html::markdown_to_html; -use crate::validations::check_for_slurs::contains_slurs; use derive_more::{Display, Error}; use log::{info, warn, log}; use regex::Regex; diff --git a/crates/service/storyteller_web/src/http_server/endpoints/w2l/edit_w2l_template.rs b/crates/service/storyteller_web/src/http_server/endpoints/w2l/edit_w2l_template.rs index f1cc5f6c8..7a8c3b01c 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/w2l/edit_w2l_template.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/w2l/edit_w2l_template.rs @@ -1,7 +1,7 @@ use actix_http::Error; use actix_http::http::header; -use actix_web::cookie::Cookie; use actix_web::HttpResponseBuilder; +use actix_web::cookie::Cookie; use actix_web::error::ResponseError; use actix_web::http::StatusCode; use actix_web::web::{Path, Json}; @@ -14,7 +14,6 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success use crate::server_state::ServerState; use crate::util::email_to_gravatar::email_to_gravatar; use crate::util::markdown_to_html::markdown_to_html; -use crate::validations::check_for_slurs::contains_slurs; use derive_more::{Display, Error}; use log::{info, warn, log}; use regex::Regex; @@ -23,6 +22,7 @@ use sqlx::error::DatabaseError; use sqlx::error::Error::Database; use sqlx::mysql::MySqlDatabaseError; use std::sync::Arc; +use user_input_common::check_for_slurs::contains_slurs; /// For the URL PathInfo #[derive(Deserialize)] diff --git a/crates/service/storyteller_web/src/http_server/endpoints/w2l/enqueue_upload_w2l_template.rs b/crates/service/storyteller_web/src/http_server/endpoints/w2l/enqueue_upload_w2l_template.rs index 81d6cbb0b..ecc2d8fc8 100644 --- a/crates/service/storyteller_web/src/http_server/endpoints/w2l/enqueue_upload_w2l_template.rs +++ b/crates/service/storyteller_web/src/http_server/endpoints/w2l/enqueue_upload_w2l_template.rs @@ -1,7 +1,7 @@ use actix_http::Error; use actix_http::http::header; -use actix_web::cookie::Cookie; use actix_web::HttpResponseBuilder; +use actix_web::cookie::Cookie; use actix_web::error::ResponseError; use actix_web::http::StatusCode; use actix_web::{Responder, web, HttpResponse, error, HttpRequest}; @@ -9,7 +9,6 @@ use crate::database::helpers::enums::{DownloadUrlType, CreatorSetVisibility, W2l use crate::http_server::web_utils::ip_address::get_request_ip; use crate::http_server::web_utils::response_error_helpers::to_simple_json_error; use crate::server_state::ServerState; -use crate::validations::check_for_slurs::contains_slurs; use crate::validations::model_uploads::validate_model_title; use crate::validations::passwords::validate_passwords; use crate::validations::username::validate_username; @@ -21,6 +20,7 @@ use sqlx::error::DatabaseError; use sqlx::error::Error::Database; use sqlx::mysql::MySqlDatabaseError; use std::sync::Arc; +use user_input_common::check_for_slurs::contains_slurs; #[derive(Deserialize)] pub struct UploadW2lTemplateRequest { diff --git a/crates/service/storyteller_web/src/main.rs b/crates/service/storyteller_web/src/main.rs index 0fa707599..63e818428 100644 --- a/crates/service/storyteller_web/src/main.rs +++ b/crates/service/storyteller_web/src/main.rs @@ -14,7 +14,6 @@ pub const RESERVED_USERNAMES : &'static str = include_str!("../../../../db/reserved_usernames.txt"); pub const RESERVED_SUBSTRINGS : &'static str = include_str!("../../../../db/reserved_usernames_including.txt"); -pub const BANNED_SLURS : &'static str = include_str!("../../../../db/banned_slurs.txt"); pub mod database; pub mod common_env; diff --git a/crates/service/storyteller_web/src/validations/mod.rs b/crates/service/storyteller_web/src/validations/mod.rs index 20c536754..e881b761a 100644 --- a/crates/service/storyteller_web/src/validations/mod.rs +++ b/crates/service/storyteller_web/src/validations/mod.rs @@ -1,5 +1,4 @@ pub mod cashapp_username; -pub mod check_for_slurs; pub mod discord_username; pub mod github_username; pub mod ip_addresses;