mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-03 00:47:53 +00:00
rename enum
This commit is contained in:
1 parent
b9e54702fd
commit
436f368c35
2 files changed
+13
-12
No files matched your search
@@ -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.
|
||||
|
||||
@@ -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<Self, String> {
|
||||
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<Self> {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user