diff --git a/src/database/helpers/enums.rs b/src/database/helpers/enums.rs index 876d9dc2d3..6e49c85ab7 100644 --- a/src/database/helpers/enums.rs +++ b/src/database/helpers/enums.rs @@ -4,13 +4,17 @@ #![allow(non_camel_case_types)] +#[deprecated(note = "Use `RecordVisibility` instead!")] #[derive(Deserialize)] pub enum CreatorSetVisibility { /// public + #[deprecated(note = "Use `RecordVisibility` instead!")] Public, /// hidden + #[deprecated(note = "Use `RecordVisibility` instead!")] Hidden, /// private + #[deprecated(note = "Use `RecordVisibility` instead!")] Private, } diff --git a/src/database/queries/query_tts_result.rs b/src/database/queries/query_tts_result.rs index e1a82097b3..0655c43430 100644 --- a/src/database/queries/query_tts_result.rs +++ b/src/database/queries/query_tts_result.rs @@ -11,6 +11,8 @@ use sqlx::error::DatabaseError; use sqlx::error::Error::Database; use sqlx::mysql::MySqlDatabaseError; use std::sync::Arc; +use crate::database::helpers::enums::CreatorSetVisibility; +use crate::database::enums::record_visibility::RecordVisibility; #[derive(Serialize)] pub struct TtsResultRecordForResponse { @@ -33,6 +35,8 @@ pub struct TtsResultRecordForResponse { pub public_bucket_wav_audio_path: String, pub public_bucket_spectrogram_path: String, + pub creator_set_visibility: RecordVisibility, + pub file_size_bytes: u32, pub duration_millis: u32, @@ -75,6 +79,8 @@ pub struct TtsResultRecordRaw { pub public_bucket_wav_audio_path: String, pub public_bucket_spectrogram_path: String, + pub creator_set_visibility: String, + pub file_size_bytes: i32, pub duration_millis: i32, @@ -141,6 +147,10 @@ pub async fn select_tts_result_by_token( public_bucket_wav_audio_path: ir.public_bucket_wav_audio_path.clone(), public_bucket_spectrogram_path: ir.public_bucket_spectrogram_path.clone(), + // NB: Fail open/public since we're already looking at it + creator_set_visibility: RecordVisibility::from_str(&ir.creator_set_visibility) + .unwrap_or(RecordVisibility::Public), + file_size_bytes: if ir.file_size_bytes > 0 { ir.file_size_bytes as u32 } else { 0 }, duration_millis: if ir.duration_millis > 0 { ir.duration_millis as u32 } else { 0 }, @@ -185,6 +195,8 @@ SELECT tts_results.public_bucket_wav_audio_path, tts_results.public_bucket_spectrogram_path, + tts_results.creator_set_visibility, + tts_results.file_size_bytes, tts_results.duration_millis, tts_results.created_at, @@ -238,6 +250,8 @@ SELECT tts_results.public_bucket_wav_audio_path, tts_results.public_bucket_spectrogram_path, + tts_results.creator_set_visibility, + tts_results.file_size_bytes, tts_results.duration_millis, tts_results.created_at,