From 436f368c3502f3bc6faa4fdfe417e50380eeacb3 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Tue, 12 May 2026 16:24:16 -0400 Subject: [PATCH] rename enum --- .../sql/migrations_squashed/media_files.sql | 1 + .../media_files/media_file_origin_category.rs | 24 +++++++++---------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/_database/sql/migrations_squashed/media_files.sql b/_database/sql/migrations_squashed/media_files.sql index fbde51dc22..ffb4fbc4bb 100644 --- a/_database/sql/migrations_squashed/media_files.sql +++ b/_database/sql/migrations_squashed/media_files.sql @@ -28,6 +28,7 @@ CREATE TABLE media_files ( -- There is an index on this column. -- Broad "category" for where the file came from: -- * 'inference' for inference output + -- * 'inference_third' for inference output -- * 'processed' for processed file (eg. mp3 encoding, stem splitting, etc.) -- * 'upload' for direct user upload (from the filesystem) -- * 'device_api' for direct user uploads recorded using Browser/Device APIs. diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_category.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_category.rs index 10825a6373..1164d1b3b1 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_category.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_category.rs @@ -18,6 +18,11 @@ pub enum MediaFileOriginCategory { /// ML model inference output - uploaded models or zero shot. Inference, + /// Third-party inference output (e.g. FAL, Replicate). + /// The file was generated by a third-party AI service and uploaded by the client. + #[serde(rename = "inference3rd")] + ThirdPartyInference, + /// Processed results - (we don't have these systems yet, but eg. trim, transcode, etc). Processed, @@ -35,11 +40,6 @@ pub enum MediaFileOriginCategory { /// From Storyteller Studio Engine #[deprecated(note = "DO NOT USE. Originally deprecated in favor of `StorytellerStudio`.")] StoryEngine, - - /// Third-party inference output (e.g. FAL, Replicate). - /// The file was generated by a third-party AI service and uploaded by the client. - #[serde(rename = "3p_inference")] - ThirdPartyInference, } // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! @@ -52,24 +52,24 @@ impl MediaFileOriginCategory { pub fn to_str(&self) -> &'static str { match self { Self::Inference => "inference", + Self::ThirdPartyInference => "inference3rd", Self::Processed => "processed", Self::Upload => "upload", Self::DeviceApi => "device_api", Self::StorytellerStudio => "studio", Self::StoryEngine => "story_engine", - Self::ThirdPartyInference => "3p_inference", } } pub fn from_str(value: &str) -> Result { match value { "inference" => Ok(Self::Inference), + "inference3rd" => Ok(Self::ThirdPartyInference), "processed" => Ok(Self::Processed), "upload" => Ok(Self::Upload), "device_api" => Ok(Self::DeviceApi), "studio" => Ok(Self::StorytellerStudio), "story_engine" => Ok(Self::StoryEngine), - "3p_inference" => Ok(Self::ThirdPartyInference), _ => Err(format!("invalid value: {:?}", value)), } } @@ -77,12 +77,12 @@ impl MediaFileOriginCategory { pub fn all_variants() -> BTreeSet { BTreeSet::from([ Self::Inference, + Self::ThirdPartyInference, Self::Processed, Self::Upload, Self::DeviceApi, Self::StorytellerStudio, Self::StoryEngine, - Self::ThirdPartyInference, ]) } } @@ -98,34 +98,34 @@ mod tests { #[test] fn test_serialization() { assert_serialization(MediaFileOriginCategory::Inference, "inference"); + assert_serialization(MediaFileOriginCategory::ThirdPartyInference, "inference3rd"); assert_serialization(MediaFileOriginCategory::Processed, "processed"); assert_serialization(MediaFileOriginCategory::Upload, "upload"); assert_serialization(MediaFileOriginCategory::DeviceApi, "device_api"); assert_serialization(MediaFileOriginCategory::StorytellerStudio, "studio"); assert_serialization(MediaFileOriginCategory::StoryEngine, "story_engine"); - assert_serialization(MediaFileOriginCategory::ThirdPartyInference, "3p_inference"); } #[test] fn test_to_str() { assert_eq!(MediaFileOriginCategory::Inference.to_str(), "inference"); + assert_eq!(MediaFileOriginCategory::ThirdPartyInference.to_str(), "inference3rd"); assert_eq!(MediaFileOriginCategory::Processed.to_str(), "processed"); assert_eq!(MediaFileOriginCategory::Upload.to_str(), "upload"); assert_eq!(MediaFileOriginCategory::DeviceApi.to_str(), "device_api"); assert_eq!(MediaFileOriginCategory::StorytellerStudio.to_str(), "studio"); assert_eq!(MediaFileOriginCategory::StoryEngine.to_str(), "story_engine"); - assert_eq!(MediaFileOriginCategory::ThirdPartyInference.to_str(), "3p_inference"); } #[test] fn test_from_str() { assert_eq!(MediaFileOriginCategory::from_str("inference").unwrap(), MediaFileOriginCategory::Inference); + assert_eq!(MediaFileOriginCategory::from_str("inference3rd").unwrap(), MediaFileOriginCategory::ThirdPartyInference); assert_eq!(MediaFileOriginCategory::from_str("processed").unwrap(), MediaFileOriginCategory::Processed); assert_eq!(MediaFileOriginCategory::from_str("upload").unwrap(), MediaFileOriginCategory::Upload); assert_eq!(MediaFileOriginCategory::from_str("device_api").unwrap(), MediaFileOriginCategory::DeviceApi); assert_eq!(MediaFileOriginCategory::from_str("studio").unwrap(), MediaFileOriginCategory::StorytellerStudio); assert_eq!(MediaFileOriginCategory::from_str("story_engine").unwrap(), MediaFileOriginCategory::StoryEngine); - assert_eq!(MediaFileOriginCategory::from_str("3p_inference").unwrap(), MediaFileOriginCategory::ThirdPartyInference); assert!(MediaFileOriginCategory::from_str("foo").is_err()); } @@ -134,12 +134,12 @@ mod tests { let mut variants = MediaFileOriginCategory::all_variants(); assert_eq!(variants.len(), 7); assert_eq!(variants.pop_first(), Some(MediaFileOriginCategory::Inference)); + assert_eq!(variants.pop_first(), Some(MediaFileOriginCategory::ThirdPartyInference)); assert_eq!(variants.pop_first(), Some(MediaFileOriginCategory::Processed)); assert_eq!(variants.pop_first(), Some(MediaFileOriginCategory::Upload)); assert_eq!(variants.pop_first(), Some(MediaFileOriginCategory::DeviceApi)); assert_eq!(variants.pop_first(), Some(MediaFileOriginCategory::StorytellerStudio)); assert_eq!(variants.pop_first(), Some(MediaFileOriginCategory::StoryEngine)); - assert_eq!(variants.pop_first(), Some(MediaFileOriginCategory::ThirdPartyInference)); assert_eq!(variants.pop_first(), None); } }