enum refactor, whew

This commit is contained in:
Brandon Thomas committed 2023-01-11 00:33:39 -05:00
1 parent 46280c7877
commit 60af0ea36d
27 files changed
+56 -52

No files matched your search

@@ -4,8 +4,8 @@ use container_common::anyhow_result::AnyhowResult;
use crate::column_types::job_status::JobStatus;
use crate::queries::generic_download::job::_keys::GenericDownloadJobId;
use crate::tokens::Tokens;
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::generic_download_type::GenericDownloadType;
use reusable_types::db::enums::entity_visibility::EntityVisibility;
use reusable_types::db::enums::generic_download_type::GenericDownloadType;
use sqlx::MySqlPool;
use std::path::Path;
use tokens::jobs::download::DownloadJobToken;
@@ -45,9 +45,9 @@ SELECT
creator_user_token,
creator_ip_address,
creator_set_visibility as `creator_set_visibility: reusable_types::entity_visibility::EntityVisibility`,
creator_set_visibility as `creator_set_visibility: reusable_types::db::enums::entity_visibility::EntityVisibility`,
download_type as `download_type: reusable_types::generic_download_type::GenericDownloadType`,
download_type as `download_type: reusable_types::db::enums::generic_download_type::GenericDownloadType`,
download_url,
title,
@@ -2,8 +2,8 @@ use anyhow::anyhow;
use chrono::{DateTime, Utc};
use container_common::anyhow_result::AnyhowResult;
use log::warn;
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::generic_download_type::GenericDownloadType;
use reusable_types::db::enums::entity_visibility::EntityVisibility;
use reusable_types::db::enums::generic_download_type::GenericDownloadType;
use sqlx::MySqlPool;
use tokens::jobs::download::DownloadJobToken;
@@ -1,7 +1,7 @@
use anyhow::anyhow;
use container_common::anyhow_result::AnyhowResult;
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::generic_download_type::GenericDownloadType;
use reusable_types::db::enums::entity_visibility::EntityVisibility;
use reusable_types::db::enums::generic_download_type::GenericDownloadType;
use sqlx::MySqlPool;
use tokens::jobs::download::DownloadJobToken;
@@ -4,8 +4,8 @@ use container_common::anyhow_result::AnyhowResult;
use crate::column_types::job_status::JobStatus;
use crate::helpers::boolean_converters::i8_to_bool;
use crate::queries::generic_inference::job::_keys::GenericInferenceJobId;
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::generic_inference_type::GenericInferenceType;
use reusable_types::db::enums::entity_visibility::EntityVisibility;
use reusable_types::db::enums::generic_inference_type::GenericInferenceType;
use sqlx::MySqlPool;
use std::path::Path;
use tokens::jobs::inference::InferenceJobToken;
@@ -51,14 +51,14 @@ SELECT
id as `id: crate::queries::generic_inference::job::_keys::GenericInferenceJobId`,
token AS `inference_job_token: tokens::jobs::inference::InferenceJobToken`,
inference_type as `inference_type: reusable_types::generic_inference_type::GenericInferenceType`,
inference_type as `inference_type: reusable_types::db::enums::generic_inference_type::GenericInferenceType`,
maybe_inference_args,
maybe_raw_inference_text,
maybe_model_token,
maybe_creator_user_token,
creator_ip_address,
creator_set_visibility as `creator_set_visibility: reusable_types::entity_visibility::EntityVisibility`,
creator_set_visibility as `creator_set_visibility: reusable_types::db::enums::entity_visibility::EntityVisibility`,
status as `status: crate::column_types::job_status::JobStatus`,
@@ -2,8 +2,6 @@ use anyhow::anyhow;
use chrono::{DateTime, Utc};
use container_common::anyhow_result::AnyhowResult;
use log::warn;
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::generic_inference_type::GenericInferenceType;
use sqlx::MySqlPool;
use tokens::jobs::inference::InferenceJobToken;
@@ -1,7 +1,7 @@
use anyhow::anyhow;
use container_common::anyhow_result::AnyhowResult;
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::generic_inference_type::GenericInferenceType;
use reusable_types::db::enums::entity_visibility::EntityVisibility;
use reusable_types::db::enums::generic_inference_type::GenericInferenceType;
use sqlx::MySqlPool;
use tokens::jobs::inference::InferenceJobToken;
@@ -7,7 +7,7 @@ use chrono::{Utc, DateTime};
use log::warn;
use sqlx::MySqlPool;
use sqlx;
use reusable_types::vocoder_type::VocoderType;
use reusable_types::db::enums::vocoder_type::VocoderType;
// TODO: Can probably just reuse another query.
@@ -91,7 +91,7 @@ SELECT
tts.maybe_default_pretrained_vocoder,
tts.maybe_custom_vocoder_token,
vocoder.vocoder_type as `maybe_custom_vocoder_type: reusable_types::vocoder_type::VocoderType`,
vocoder.vocoder_type as `maybe_custom_vocoder_type: reusable_types::db::enums::vocoder_type::VocoderType`,
vocoder.title as maybe_custom_vocoder_title,
vocoder.private_bucket_hash as maybe_custom_vocoder_private_bucket_hash,
@@ -3,7 +3,7 @@ use chrono::Utc;
use container_common::anyhow_result::AnyhowResult;
use crate::queries::generic_download::job::list_available_generic_download_jobs::AvailableDownloadJob;
use crate::tokens::Tokens;
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::db::enums::entity_visibility::EntityVisibility;
use sqlx::MySqlPool;
use std::path::Path;
@@ -3,7 +3,7 @@ use chrono::{DateTime, Utc};
use container_common::anyhow_result::AnyhowResult;
use crate::helpers::boolean_converters::i8_to_bool;
use log::{info, warn, log};
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::db::enums::entity_visibility::EntityVisibility;
use sqlx::error::DatabaseError;
use sqlx::error::Error::Database;
use sqlx::mysql::MySqlDatabaseError;
@@ -109,8 +109,8 @@ SELECT
profile_rendered_html,
user_role_slug,
disable_gravatar,
preferred_tts_result_visibility as `preferred_tts_result_visibility: reusable_types::entity_visibility::EntityVisibility`,
preferred_w2l_result_visibility as `preferred_w2l_result_visibility: reusable_types::entity_visibility::EntityVisibility`,
preferred_tts_result_visibility as `preferred_tts_result_visibility: reusable_types::db::enums::entity_visibility::EntityVisibility`,
preferred_w2l_result_visibility as `preferred_w2l_result_visibility: reusable_types::db::enums::entity_visibility::EntityVisibility`,
discord_username,
twitch_username,
twitter_username,
@@ -8,8 +8,8 @@ use chrono::{DateTime, Utc};
use container_common::anyhow_result::AnyhowResult;
use crate::helpers::boolean_converters::i8_to_bool;
use log::warn;
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::vocoder_type::VocoderType;
use reusable_types::db::enums::entity_visibility::EntityVisibility;
use reusable_types::db::enums::vocoder_type::VocoderType;
use sqlx::MySqlPool;
// FIXME: This is the old style of query scoping and shouldn't be copied.
@@ -120,7 +120,7 @@ async fn select_including_deleted(
r#"
SELECT
vocoder.token as vocoder_token,
vocoder.vocoder_type as `vocoder_type: reusable_types::vocoder_type::VocoderType`,
vocoder.vocoder_type as `vocoder_type: reusable_types::db::enums::vocoder_type::VocoderType`,
vocoder.creator_user_token,
users.username as creator_username,
@@ -137,7 +137,7 @@ SELECT
vocoder.is_mod_disabled_from_author_use,
vocoder.is_mod_author_editing_locked,
vocoder.creator_set_visibility as `creator_set_visibility: reusable_types::entity_visibility::EntityVisibility`,
vocoder.creator_set_visibility as `creator_set_visibility: reusable_types::db::enums::entity_visibility::EntityVisibility`,
vocoder.created_at,
vocoder.updated_at,
@@ -168,7 +168,7 @@ async fn select_without_deleted(
r#"
SELECT
vocoder.token as vocoder_token,
vocoder.vocoder_type as `vocoder_type: reusable_types::vocoder_type::VocoderType`,
vocoder.vocoder_type as `vocoder_type: reusable_types::db::enums::vocoder_type::VocoderType`,
vocoder.creator_user_token,
users.username as creator_username,
@@ -185,7 +185,7 @@ SELECT
vocoder.is_mod_disabled_from_author_use,
vocoder.is_mod_author_editing_locked,
vocoder.creator_set_visibility as `creator_set_visibility: reusable_types::entity_visibility::EntityVisibility`,
vocoder.creator_set_visibility as `creator_set_visibility: reusable_types::db::enums::entity_visibility::EntityVisibility`,
vocoder.created_at,
vocoder.updated_at,
@@ -6,8 +6,8 @@
use anyhow::anyhow;
use container_common::anyhow_result::AnyhowResult;
use crate::tokens::Tokens;
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::vocoder_type::VocoderType;
use reusable_types::db::enums::entity_visibility::EntityVisibility;
use reusable_types::db::enums::vocoder_type::VocoderType;
use sqlx::MySqlPool;
use std::path::Path;
@@ -8,7 +8,7 @@ use chrono::{DateTime, Utc};
use container_common::anyhow_result::AnyhowResult;
use crate::helpers::boolean_converters::i8_to_bool;
use log::{warn, info};
use reusable_types::vocoder_type::VocoderType;
use reusable_types::db::enums::vocoder_type::VocoderType;
use sqlx::MySqlPool;
// FIXME: This is the old style of query scoping and shouldn't be copied.
@@ -115,7 +115,7 @@ async fn list_vocoder_models_for_all_creators(
r#"
SELECT
vocoder.token as vocoder_token,
vocoder.vocoder_type as `vocoder_type: reusable_types::vocoder_type::VocoderType`,
vocoder.vocoder_type as `vocoder_type: reusable_types::db::enums::vocoder_type::VocoderType`,
vocoder.creator_user_token,
users.username as creator_username,
users.display_name as creator_display_name,
@@ -147,7 +147,7 @@ WHERE
r#"
SELECT
vocoder.token as vocoder_token,
vocoder.vocoder_type as `vocoder_type: reusable_types::vocoder_type::VocoderType`,
vocoder.vocoder_type as `vocoder_type: reusable_types::db::enums::vocoder_type::VocoderType`,
vocoder.creator_user_token,
users.username as creator_username,
users.display_name as creator_display_name,
@@ -187,7 +187,7 @@ async fn list_vocoder_models_creator_scoped(
r#"
SELECT
vocoder.token as vocoder_token,
vocoder.vocoder_type as `vocoder_type: reusable_types::vocoder_type::VocoderType`,
vocoder.vocoder_type as `vocoder_type: reusable_types::db::enums::vocoder_type::VocoderType`,
vocoder.creator_user_token,
users.username as creator_username,
users.display_name as creator_display_name,
@@ -221,7 +221,7 @@ WHERE
r#"
SELECT
vocoder.token as vocoder_token,
vocoder.vocoder_type as `vocoder_type: reusable_types::vocoder_type::VocoderType`,
vocoder.vocoder_type as `vocoder_type: reusable_types::db::enums::vocoder_type::VocoderType`,
vocoder.creator_user_token,
users.username as creator_username,
users.display_name as creator_display_name,
@@ -39,7 +39,7 @@ impl EntityVisibility {
#[cfg(test)]
mod tests {
use crate::entity_visibility::EntityVisibility;
use crate::db::enums::entity_visibility::EntityVisibility;
use crate::test_helpers::assert_serialization;
#[test]
@@ -40,7 +40,7 @@ impl GenericDownloadType {
#[cfg(test)]
mod tests {
use crate::generic_download_type::GenericDownloadType;
use crate::db::enums::generic_download_type::GenericDownloadType;
use crate::test_helpers::assert_serialization;
#[test]
@@ -34,7 +34,7 @@ impl GenericInferenceType {
#[cfg(test)]
mod tests {
use crate::generic_inference_type::GenericInferenceType;
use crate::db::enums::generic_inference_type::GenericInferenceType;
use crate::test_helpers::assert_serialization;
#[test]
@@ -0,0 +1,7 @@
//! This is meant to handle `enum` or `enum`-like columns in the database.
//! These are not Rust-like enums (sum types) that can have internal payloads.
pub mod entity_visibility;
pub mod generic_download_type;
pub mod generic_inference_type;
pub mod vocoder_type;
@@ -23,8 +23,8 @@ impl VocoderType {
#[cfg(test)]
mod tests {
use crate::db::enums::vocoder_type::VocoderType;
use crate::test_helpers::assert_serialization;
use crate::vocoder_type::VocoderType;
#[test]
fn test_serialization() {
+2
View File
@@ -0,0 +1,2 @@
pub mod enums;
pub mod payloads;
Whitespace-only changes.
+1 -4
View File
@@ -17,9 +17,6 @@
#[cfg(test)] pub mod test_helpers;
pub mod achievements;
pub mod entity_visibility;
pub mod generic_download_type;
pub mod generic_inference_type;
pub mod db;
pub mod server_environment;
pub mod stripe;
pub mod vocoder_type;
@@ -16,7 +16,7 @@ use http_server_common::request::get_request_header_optional::get_request_header
use http_server_common::response::serialize_as_json_error::serialize_as_json_error;
use http_server_common::util::timer::MultiBenchmarkingTimer;
use log::warn;
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::db::enums::entity_visibility::EntityVisibility;
use sqlx::MySqlPool;
use std::fmt;
use tokens::users::user::UserToken;
@@ -10,7 +10,7 @@ use database_queries::queries::generic_download::job::mark_generic_download_job_
use database_queries::queries::generic_download::job::mark_generic_download_job_pending_and_grab_lock::mark_generic_download_job_pending_and_grab_lock;
use jobs_common::redis_job_status_logger::RedisJobStatusLogger;
use log::{info, warn};
use reusable_types::generic_download_type::GenericDownloadType;
use reusable_types::db::enums::generic_download_type::GenericDownloadType;
use tempdir::TempDir;
pub async fn process_single_job(job_state: &JobState, job: &AvailableDownloadJob) -> AnyhowResult<()> {
@@ -10,7 +10,7 @@ use database_queries::queries::generic_download::job::list_available_generic_dow
use database_queries::queries::vocoder::insert_vocoder_model::{Args, insert_vocoder_model};
use jobs_common::redis_job_status_logger::RedisJobStatusLogger;
use log::{info, warn};
use reusable_types::vocoder_type::VocoderType;
use reusable_types::db::enums::vocoder_type::VocoderType;
use std::fs::File;
use std::io::Read;
use std::path::PathBuf;
@@ -11,7 +11,7 @@ use database_queries::queries::tts::tts_models::insert_tts_model_from_download_j
use database_queries::queries::tts::tts_models::insert_tts_model_from_download_job;
use jobs_common::redis_job_status_logger::RedisJobStatusLogger;
use log::{info, warn};
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::db::enums::entity_visibility::EntityVisibility;
use std::fs::File;
use std::io::Read;
use std::path::PathBuf;
@@ -16,8 +16,8 @@ use http_server_common::request::get_request_ip::get_request_ip;
use http_server_common::response::serialize_as_json_error::serialize_as_json_error;
use log::{info, warn, log};
use regex::Regex;
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::generic_download_type::GenericDownloadType;
use reusable_types::db::enums::entity_visibility::EntityVisibility;
use reusable_types::db::enums::generic_download_type::GenericDownloadType;
use sqlx::error::DatabaseError;
use sqlx::error::Error::Database;
use sqlx::mysql::MySqlDatabaseError;
@@ -12,8 +12,8 @@ use crate::http_server::web_utils::response_error_helpers::to_simple_json_error;
use crate::server_state::ServerState;
use database_queries::queries::vocoder::get_vocoder_model::get_vocoder_model_by_token;
use log::warn;
use reusable_types::entity_visibility::EntityVisibility;
use reusable_types::vocoder_type::VocoderType;
use reusable_types::db::enums::entity_visibility::EntityVisibility;
use reusable_types::db::enums::vocoder_type::VocoderType;
use std::fmt;
use std::sync::Arc;
@@ -11,7 +11,7 @@ use crate::http_server::web_utils::response_error_helpers::to_simple_json_error;
use crate::server_state::ServerState;
use database_queries::queries::vocoder::list_vocoder_models::{list_vocoder_models, VocoderModelListItem};
use log::warn;
use reusable_types::vocoder_type::VocoderType;
use reusable_types::db::enums::vocoder_type::VocoderType;
use std::fmt;
use std::sync::Arc;