massive in-library refactor

This commit is contained in:
Brandon Thomas committed 2022-02-19 04:03:45 -05:00
1 parent c4b8e0912a
commit 420a706f5d
117 files changed
+109 -107

No files matched your search

+1 -10
View File
@@ -2,17 +2,8 @@
mod builders;
pub mod api_tokens;
pub mod column_types;
pub mod helpers;
pub mod ip_bans;
pub mod mediators;
pub mod model_categories;
pub mod queries;
pub mod tokens;
pub mod tts;
pub mod twitch_event_rules;
pub mod twitch_oauth;
pub mod twitch_pubsub;
pub mod users;
pub mod voice_clone_requests;
pub mod w2l;
@@ -1,6 +1,6 @@
use anyhow::anyhow;
use container_common::anyhow_result::AnyhowResult;
use crate::api_tokens::list_available_api_tokens_for_user::list_available_api_tokens_for_user;
use crate::queries::api_tokens::list_available_api_tokens_for_user::list_available_api_tokens_for_user;
use crate::tokens::Tokens;
use sqlx::MySqlPool;
use sqlx;
@@ -0,0 +1,8 @@
pub mod api_tokens;
pub mod ip_bans;
pub mod model_categories;
pub mod tts;
pub mod twitch;
pub mod users;
pub mod voice_clone_requests;
pub mod w2l;
@@ -318,7 +318,7 @@ pub struct RawInternalCategoryRecord {
#[cfg(test)]
mod tests {
use crate::model_categories::list_categories_query_builder::ListCategoriesQueryBuilder;
use crate::queries::model_categories::list_categories_query_builder::ListCategoriesQueryBuilder;
#[test]
fn predicates_default_scoping() {
@@ -4,7 +4,7 @@ use container_common::anyhow_result::AnyhowResult;
use crate::column_types::job_status::JobStatus;
use crate::column_types::record_visibility::RecordVisibility;
use crate::helpers::boolean_converters::i8_to_bool;
use crate::tts::tts_inference_jobs::_keys::TtsInferenceJobId;
use crate::queries::tts::tts_inference_jobs::_keys::TtsInferenceJobId;
use log::{warn, info};
use sqlx::MySqlPool;
@@ -1,6 +1,6 @@
use anyhow::anyhow;
use container_common::anyhow_result::AnyhowResult;
use crate::tts::tts_inference_jobs::_keys::TtsInferenceJobId;
use crate::queries::tts::tts_inference_jobs::_keys::TtsInferenceJobId;
use sqlx::MySqlPool;
use sqlx;
@@ -1,6 +1,6 @@
use anyhow::anyhow;
use container_common::anyhow_result::AnyhowResult;
use crate::tts::tts_inference_jobs::list_available_tts_inference_jobs::AvailableTtsInferenceJob;
use crate::queries::tts::tts_inference_jobs::list_available_tts_inference_jobs::AvailableTtsInferenceJob;
use sqlx::MySqlPool;
use sqlx;
@@ -1,6 +1,6 @@
use anyhow::anyhow;
use container_common::anyhow_result::AnyhowResult;
use crate::tts::tts_inference_jobs::_keys::TtsInferenceJobId;
use crate::queries::tts::tts_inference_jobs::_keys::TtsInferenceJobId;
use sqlx::MySqlPool;
use sqlx;
@@ -1,6 +1,6 @@
use anyhow::anyhow;
use container_common::anyhow_result::AnyhowResult;
use crate::tts::tts_inference_jobs::_keys::TtsInferenceJobId;
use crate::queries::tts::tts_inference_jobs::_keys::TtsInferenceJobId;
use sqlx::MySqlPool;
use sqlx;
@@ -1,8 +1,8 @@
use anyhow::anyhow;
use container_common::anyhow_result::AnyhowResult;
use crate::column_types::vocoder_type::VocoderType;
use crate::queries::tts::tts_inference_jobs::list_available_tts_inference_jobs::AvailableTtsInferenceJob;
use crate::tokens::Tokens;
use crate::tts::tts_inference_jobs::list_available_tts_inference_jobs::AvailableTtsInferenceJob;
use log::warn;
use sqlx::MySqlPool;
use sqlx;
@@ -326,7 +326,7 @@ pub struct RawInternalTtsRecord {
#[cfg(test)]
mod tests {
use crate::tts::tts_results::list_tts_results_query_builder::ListTtsResultsQueryBuilder;
use crate::queries::tts::tts_results::list_tts_results_query_builder::ListTtsResultsQueryBuilder;
#[test]
fn predicates_without_scoping() {
@@ -0,0 +1,3 @@
pub mod twitch_event_rules;
pub mod twitch_oauth;
pub mod twitch_pubsub;
@@ -372,7 +372,7 @@ pub struct RawInternalTtsRecord {
#[cfg(test)]
mod tests {
use crate::w2l::w2l_results::list_w2l_inference_results_query_builder::ListW2lResultsQueryBuilder;
use crate::queries::w2l::w2l_results::list_w2l_inference_results_query_builder::ListW2lResultsQueryBuilder;
#[test]
fn predicates_without_scoping() {
@@ -5,13 +5,14 @@ use actix_web::{middleware, web, App, Error, HttpRequest, HttpResponse, HttpServ
use actix_web_actors::ws;
use container_common::anyhow_result::AnyhowResult;
use container_common::token::random_crockford_token::random_crockford_token;
use crate::endpoints_ws::obs_gateway_websocket_handler::ResponseType::TtsEvent;
use crate::redis::constants::OBS_ACTIVE_TTL_SECONDS;
use crate::redis::obs_active_payload::ObsActivePayload;
use crate::server_state::ObsGatewayServerState;
use crate::twitch::pubsub::build_pubsub_topics_for_user::build_pubsub_topics_for_user;
use crate::twitch::twitch_user_id::TwitchUserId;
use crate::twitch::websocket_client::TwitchWebsocketClient;
use database_queries::twitch_oauth::find::{TwitchOauthTokenFinder, TwitchOauthTokenRecord};
use database_queries::queries::twitch::twitch_oauth::find::{TwitchOauthTokenFinder, TwitchOauthTokenRecord};
use futures_timer::Delay;
use futures_util::FutureExt;
use http_server_common::error::common_server_error::CommonServerError;
@@ -28,10 +29,9 @@ use std::thread::sleep;
use std::time::Duration;
use tokio::runtime::Handle;
use twitch_api2::pubsub::Topic;
use twitch_api2::pubsub;
use twitch_api2::pubsub::channel_bits::ChannelBitsEventsV2Reply::BitsEvent;
use twitch_api2::pubsub::TopicData::ChannelPointsChannelV1;
use crate::endpoints_ws::obs_gateway_websocket_handler::ResponseType::TtsEvent;
use twitch_api2::pubsub::channel_bits::ChannelBitsEventsV2Reply::BitsEvent;
use twitch_api2::pubsub;
// TODO: Redis calls are synchronous (but fast), but is there any way to make them async?
@@ -8,12 +8,12 @@ use crate::twitch::oauth::oauth_token_refresher::OauthTokenRefresher;
use crate::twitch::pubsub::build_pubsub_topics_for_user::build_pubsub_topics_for_user;
use crate::twitch::twitch_user_id::TwitchUserId;
use crate::twitch::websocket_client::TwitchWebsocketClient;
use database_queries::queries::tts::tts_inference_jobs::insert_tts_inference_job::TtsInferenceJobInsertBuilder;
use database_queries::queries::twitch::twitch_oauth::find::{TwitchOauthTokenRecord, TwitchOauthTokenFinder};
use database_queries::queries::twitch::twitch_oauth::insert::TwitchOauthTokenInsertBuilder;
use database_queries::queries::twitch::twitch_pubsub::insert_bits::TwitchPubsubBitsInsertBuilder;
use database_queries::queries::twitch::twitch_pubsub::insert_channel_points::TwitchPubsubChannelPointsInsertBuilder;
use database_queries::tokens::Tokens;
use database_queries::tts::tts_inference_jobs::insert_tts_inference_job::TtsInferenceJobInsertBuilder;
use database_queries::twitch_oauth::find::{TwitchOauthTokenRecord, TwitchOauthTokenFinder};
use database_queries::twitch_oauth::insert::TwitchOauthTokenInsertBuilder;
use database_queries::twitch_pubsub::insert_bits::TwitchPubsubBitsInsertBuilder;
use database_queries::twitch_pubsub::insert_channel_points::TwitchPubsubChannelPointsInsertBuilder;
use log::debug;
use log::error;
use log::info;
@@ -22,7 +22,7 @@ use sqlx::error::Error::Database;
use sqlx::mysql::MySqlDatabaseError;
use std::fmt;
use std::sync::Arc;
use database_queries::api_tokens::create_api_token::create_api_token_for_user;
use database_queries::queries::api_tokens::create_api_token::create_api_token_for_user;
// =============== Request ===============
@@ -10,7 +10,7 @@ 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 database_queries::api_tokens::list_available_api_tokens_for_user::list_available_api_tokens_for_user;
use database_queries::queries::api_tokens::list_available_api_tokens_for_user::list_available_api_tokens_for_user;
use http_server_common::response::serialize_as_json_error::serialize_as_json_error;
use log::{info, warn, log, error};
use regex::Regex;
@@ -20,7 +20,7 @@ use sqlx::error::Error::Database;
use sqlx::mysql::MySqlDatabaseError;
use std::fmt;
use std::sync::Arc;
use database_queries::api_tokens::delete_api_token::delete_api_token;
use database_queries::queries::api_tokens::delete_api_token::delete_api_token;
// =============== Request ===============
@@ -18,8 +18,8 @@ use sqlx::error::Error::Database;
use sqlx::mysql::MySqlDatabaseError;
use std::fmt;
use std::sync::Arc;
use database_queries::api_tokens::list_available_api_tokens_for_user::list_available_api_tokens_for_user;
use database_queries::api_tokens::edit_api_token::edit_api_token;
use database_queries::queries::api_tokens::list_available_api_tokens_for_user::list_available_api_tokens_for_user;
use database_queries::queries::api_tokens::edit_api_token::edit_api_token;
use crate::http_server::web_utils::ip_address::get_request_ip;
// =============== Request ===============
@@ -13,7 +13,7 @@ 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 database_queries::api_tokens::list_available_api_tokens_for_user::list_available_api_tokens_for_user;
use database_queries::queries::api_tokens::list_available_api_tokens_for_user::list_available_api_tokens_for_user;
use http_server_common::response::serialize_as_json_error::serialize_as_json_error;
use lexical_sort::natural_lexical_cmp;
use log::{info, warn, log};
@@ -13,8 +13,8 @@ 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 database_queries::model_categories::get_category_by_token::get_category_by_token;
use database_queries::tts::tts_models::get_tts_model::get_tts_model_by_token;
use database_queries::queries::model_categories::get_category_by_token::get_category_by_token;
use database_queries::queries::tts::tts_models::get_tts_model::get_tts_model_by_token;
use http_server_common::response::serialize_as_json_error::serialize_as_json_error;
use log::{info, warn, log};
use regex::Regex;
@@ -13,7 +13,7 @@ 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 database_queries::model_categories::get_category_by_token::get_category_by_token;
use database_queries::queries::model_categories::get_category_by_token::get_category_by_token;
use http_server_common::response::serialize_as_json_error::serialize_as_json_error;
use log::{info, warn, log};
use regex::Regex;
@@ -13,7 +13,7 @@ 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 database_queries::model_categories::list_categories_query_builder::ListCategoriesQueryBuilder;
use database_queries::queries::model_categories::list_categories_query_builder::ListCategoriesQueryBuilder;
use http_server_common::response::serialize_as_json_error::serialize_as_json_error;
use lexical_sort::natural_lexical_cmp;
use log::{info, warn, log};
@@ -10,7 +10,7 @@ use chrono::{DateTime, Utc};
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 database_queries::tts::tts_category_assignments::list_assigned_tts_categories_query_builder::ListAssignedTtsCategoriesQueryBuilder;
use database_queries::queries::tts::tts_category_assignments::list_assigned_tts_categories_query_builder::ListAssignedTtsCategoriesQueryBuilder;
use http_server_common::response::serialize_as_json_error::serialize_as_json_error;
use log::{info, warn, log};
use regex::Regex;
@@ -9,10 +9,10 @@ use chrono::{DateTime, Utc};
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 database_queries::tts::stats::calculate_tts_model_leaderboard::TtsLeaderboardRecordForList;
use database_queries::tts::stats::calculate_tts_model_leaderboard::calculate_tts_model_leaderboard;
use database_queries::w2l::stats::calculate_w2l_template_leaderboard::W2lLeaderboardRecordForList;
use database_queries::w2l::stats::calculate_w2l_template_leaderboard::calculate_w2l_template_leaderboard;
use database_queries::queries::tts::stats::calculate_tts_model_leaderboard::TtsLeaderboardRecordForList;
use database_queries::queries::tts::stats::calculate_tts_model_leaderboard::calculate_tts_model_leaderboard;
use database_queries::queries::w2l::stats::calculate_w2l_template_leaderboard::W2lLeaderboardRecordForList;
use database_queries::queries::w2l::stats::calculate_w2l_template_leaderboard::calculate_w2l_template_leaderboard;
use log::{info, warn, log};
use regex::Regex;
use sqlx::MySqlPool;
@@ -12,7 +12,7 @@ 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 database_queries::model_categories::get_category_by_token::get_category_by_token;
use database_queries::queries::model_categories::get_category_by_token::get_category_by_token;
use http_server_common::response::serialize_as_json_error::serialize_as_json_error;
use log::{info, warn, log};
use regex::Regex;
@@ -13,7 +13,7 @@ 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 database_queries::model_categories::list_categories_query_builder::ListCategoriesQueryBuilder;
use database_queries::queries::model_categories::list_categories_query_builder::ListCategoriesQueryBuilder;
use http_server_common::response::serialize_as_json_error::serialize_as_json_error;
use log::{info, warn, log};
use regex::Regex;
@@ -9,7 +9,7 @@ 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::http_server::web_utils::serialize_as_json_error::serialize_as_json_error;
use crate::server_state::ServerState;
use database_queries::users::get_user_profile_by_username::get_user_profile_by_username;
use database_queries::queries::users::get_user_profile_by_username::get_user_profile_by_username;
use log::{info, warn, log};
use regex::Regex;
use sqlx::error::DatabaseError;
@@ -14,7 +14,7 @@ use crate::server_state::ServerState;
use crate::validations::model_uploads::validate_model_title;
use crate::validations::passwords::validate_passwords;
use crate::validations::username::validate_username;
use database_queries::users::user_roles::list_user_roles::{UserRoleForList, list_user_roles};
use database_queries::queries::users::user_roles::list_user_roles::{UserRoleForList, list_user_roles};
use log::{info, warn, log};
use regex::Regex;
use sqlx::error::DatabaseError;
@@ -13,8 +13,8 @@ use crate::server_state::ServerState;
use crate::validations::model_uploads::validate_model_title;
use crate::validations::passwords::validate_passwords;
use crate::validations::username::validate_username;
use database_queries::users::get_user_profile_by_username::get_user_profile_by_username;
use database_queries::users::user_roles::list_user_roles::list_user_roles;
use database_queries::queries::users::get_user_profile_by_username::get_user_profile_by_username;
use database_queries::queries::users::user_roles::list_user_roles::list_user_roles;
use log::{info, warn, log};
use regex::Regex;
use sqlx::error::DatabaseError;
@@ -9,7 +9,7 @@ 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::http_server::web_utils::serialize_as_json_error::serialize_as_json_error;
use crate::server_state::ServerState;
use database_queries::users::list_users_query_builder::{UserForList, ListUsersQueryBuilder};
use database_queries::queries::users::list_users_query_builder::{UserForList, ListUsersQueryBuilder};
use log::{info, warn, log};
use regex::Regex;
use sqlx::error::DatabaseError;
@@ -12,11 +12,11 @@ use crate::http_server::web_utils::response_success_helpers::simple_json_success
use crate::server_state::ServerState;
use crate::util::delete_role_disambiguation::DeleteRole;
use crate::util::delete_role_disambiguation::delete_role_disambiguation;
use database_queries::tts::tts_models::delete_tts_model_various_scopes::delete_tts_model_as_mod;
use database_queries::tts::tts_models::delete_tts_model_various_scopes::delete_tts_model_as_user;
use database_queries::tts::tts_models::delete_tts_model_various_scopes::undelete_tts_model_as_mod;
use database_queries::tts::tts_models::delete_tts_model_various_scopes::undelete_tts_model_as_user;
use database_queries::tts::tts_models::get_tts_model::get_tts_model_by_token;
use database_queries::queries::tts::tts_models::delete_tts_model_various_scopes::delete_tts_model_as_mod;
use database_queries::queries::tts::tts_models::delete_tts_model_various_scopes::delete_tts_model_as_user;
use database_queries::queries::tts::tts_models::delete_tts_model_various_scopes::undelete_tts_model_as_mod;
use database_queries::queries::tts::tts_models::delete_tts_model_various_scopes::undelete_tts_model_as_user;
use database_queries::queries::tts::tts_models::get_tts_model::get_tts_model_by_token;
use log::{info, warn, log};
use regex::Regex;
use sqlx::MySqlPool;
@@ -15,11 +15,11 @@ use crate::util::delete_role_disambiguation::delete_role_disambiguation;
use crate::validations::model_uploads::validate_model_title;
use crate::validations::passwords::validate_passwords;
use crate::validations::username::validate_username;
use database_queries::tts::tts_results::delete_tts_result_various_scopes::delete_tts_inference_result_as_mod;
use database_queries::tts::tts_results::delete_tts_result_various_scopes::delete_tts_inference_result_as_user;
use database_queries::tts::tts_results::delete_tts_result_various_scopes::undelete_tts_inference_result_as_mod;
use database_queries::tts::tts_results::delete_tts_result_various_scopes::undelete_tts_inference_result_as_user;
use database_queries::tts::tts_results::query_tts_result::select_tts_result_by_token;
use database_queries::queries::tts::tts_results::delete_tts_result_various_scopes::delete_tts_inference_result_as_mod;
use database_queries::queries::tts::tts_results::delete_tts_result_various_scopes::delete_tts_inference_result_as_user;
use database_queries::queries::tts::tts_results::delete_tts_result_various_scopes::undelete_tts_inference_result_as_mod;
use database_queries::queries::tts::tts_results::delete_tts_result_various_scopes::undelete_tts_inference_result_as_user;
use database_queries::queries::tts::tts_results::query_tts_result::select_tts_result_by_token;
use log::{info, warn, log};
use regex::Regex;
use sqlx::MySqlPool;
@@ -14,7 +14,7 @@ use crate::util::email_to_gravatar::email_to_gravatar;
use crate::util::markdown_to_html::markdown_to_html;
use database_queries::column_types::record_visibility::RecordVisibility;
use database_queries::column_types::vocoder_type::VocoderType;
use database_queries::tts::tts_models::get_tts_model::get_tts_model_by_token;
use database_queries::queries::tts::tts_models::get_tts_model::get_tts_model_by_token;
use log::{info, warn, log};
use regex::Regex;
use sqlx::MySqlPool;
@@ -13,7 +13,7 @@ use crate::server_state::ServerState;
use crate::util::email_to_gravatar::email_to_gravatar;
use crate::util::markdown_to_html::markdown_to_html;
use database_queries::column_types::record_visibility::RecordVisibility;
use database_queries::tts::tts_results::query_tts_result::select_tts_result_by_token;
use database_queries::queries::tts::tts_results::query_tts_result::select_tts_result_by_token;
use log::{info, warn, log};
use regex::Regex;
use sqlx::MySqlPool;
@@ -10,7 +10,7 @@ use chrono::{DateTime, Utc};
use crate::AnyhowResult;
use crate::http_server::web_utils::response_error_helpers::to_simple_json_error;
use crate::server_state::ServerState;
use database_queries::tts::tts_models::get_tts_model::{TtsModelRecordForResponse, get_tts_model_by_token};
use database_queries::queries::tts::tts_models::get_tts_model::{TtsModelRecordForResponse, get_tts_model_by_token};
use log::{info, warn, log};
use regex::Regex;
use sqlx::MySqlPool;
@@ -14,8 +14,8 @@ use crate::http_server::web_utils::session_checker::SessionRecord;
use crate::server_state::ServerState;
use crate::validations::passwords::validate_passwords;
use crate::validations::username::validate_username;
use database_queries::tts::tts_results::query_tts_result::TtsResultRecordForResponse;
use database_queries::tts::tts_results::query_tts_result::select_tts_result_by_token;
use database_queries::queries::tts::tts_results::query_tts_result::TtsResultRecordForResponse;
use database_queries::queries::tts::tts_results::query_tts_result::select_tts_result_by_token;
use log::{info, warn, log};
use regex::Regex;
use sqlx::MySqlPool;
@@ -9,8 +9,8 @@ use container_common::anyhow_result::AnyhowResult;
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 database_queries::tts::tts_category_assignments::fetch_and_build_tts_model_category_map::fetch_and_build_tts_model_category_map;
use database_queries::tts::tts_models::list_tts_models::list_tts_models;
use database_queries::queries::tts::tts_category_assignments::fetch_and_build_tts_model_category_map::fetch_and_build_tts_model_category_map;
use database_queries::queries::tts::tts_models::list_tts_models::list_tts_models;
use lexical_sort::natural_lexical_cmp;
use log::{info, warn, log, error};
use regex::Regex;
@@ -1,7 +1,7 @@
use actix_http::{StatusCode, header};
use actix_web::{HttpResponse, HttpRequest, web, ResponseError};
use crate::server_state::ServerState;
use database_queries::twitch_oauth::insert::TwitchOauthTokenInsertBuilder;
use database_queries::queries::twitch::twitch_oauth::insert::TwitchOauthTokenInsertBuilder;
use http_server_common::request::get_request_ip::get_request_ip;
use http_server_common::response::response_error_helpers::to_simple_json_error;
use log::error;
@@ -15,7 +15,7 @@ use crate::validations::passwords::validate_passwords;
use crate::validations::username::validate_username;
use crate::validations::username_reservations::is_reserved_username;
use database_queries::tokens::Tokens;
use database_queries::users::user_sessions::create_session::create_session_for_user;
use database_queries::queries::users::user_sessions::create_session::create_session_for_user;
use log::{info, warn, log};
use regex::Regex;
use sqlx::error::DatabaseError;
@@ -21,7 +21,7 @@ use crate::validations::username::validate_username;
use crate::validations::username_reservations::is_reserved_username;
use crate::validations::website_url::validate_website_url;
use database_queries::column_types::record_visibility::RecordVisibility;
use database_queries::users::get_user_profile_by_username::get_user_profile_by_username;
use database_queries::queries::users::get_user_profile_by_username::get_user_profile_by_username;
use log::{info, warn, log};
use regex::Regex;
use sqlx::error::DatabaseError;
Loaded 100 of 117 files, more files were not shown because too many files have changed in this diff. Show more