diff --git a/Cargo.lock b/Cargo.lock index da8c41e035..475767f4ef 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 590406f5ab..f23c3c84bb 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 0000000000..d70974e358 --- /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 c89f4b5245..b156af1e2e 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 0000000000..cf09c33ec6 --- /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 f90aae2e13..e75ad56a41 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 b7b4974f6a..f5a94b0bec 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 b04633a3d4..7359dac189 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 a37faa1767..ae6e0c3b21 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 9b1e24fbb7..6b2d8db103 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 cae8e86b5a..5de3a6fbf7 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 5e1824495a..d6d3241a98 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 918615d946..3396691eca 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 651ad3740e..56339bce95 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 8fed04bdde..80ee8f2513 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 4e9f66897a..211637b926 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 de9dc9e5e5..bac117d544 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 c2dcd340f7..dff560f6cb 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 80c4ac4e04..99b57c558d 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 62db7bd599..25d103bff8 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 a302df5b3f..0bf16df60c 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 0273fff1c2..17a9b88ea7 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 04648edc48..fa8d6541c7 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 16bd4e627a..c0da636405 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 6e21a70d85..a1053d21bc 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 0c23e13461..d514e75650 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 f1cc5f6c84..7a8c3b01c7 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 81d6cbb0b5..ecc2d8fc80 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 0fa707599d..63e8184287 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 20c536754c..e881b761a1 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;