mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-09 03:21:23 +00:00
media token type
This commit is contained in:
1 parent
e36fb66e05
commit
78263e3c49
4 files changed
+68
-1
No files matched your search
@@ -9,6 +9,7 @@ pub mod trending_model_analytics;
|
||||
pub mod tts_models;
|
||||
pub mod user_ratings;
|
||||
pub mod voice_conversion_models;
|
||||
pub mod voice_conversion_results;
|
||||
|
||||
// ===== Sqlite =====
|
||||
pub mod tts_render_tasks;
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
pub mod voice_conversion_media_token_type;
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
use serde::Deserialize;
|
||||
use serde::Serialize;
|
||||
|
||||
#[cfg(test)]
|
||||
use strum::EnumCount;
|
||||
#[cfg(test)]
|
||||
use strum::EnumIter;
|
||||
|
||||
/// Used in the `voice_conversion_results` table in a `VARCHAR` field.
|
||||
///
|
||||
/// DO NOT CHANGE VALUES WITHOUT A MIGRATION STRATEGY.
|
||||
#[cfg_attr(test, derive(EnumIter, EnumCount))]
|
||||
#[derive(Clone, Copy, Eq, PartialEq, Deserialize, Serialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum VoiceConversionMediaTokenType {
|
||||
/// Media token refers to record in `media_uploads` table.
|
||||
MediaUpload,
|
||||
}
|
||||
|
||||
// TODO(bt, 2022-12-21): This desperately needs MySQL integration tests!
|
||||
impl_enum_display_and_debug_using_to_str!(VoiceConversionMediaTokenType);
|
||||
impl_mysql_enum_coders!(VoiceConversionMediaTokenType);
|
||||
|
||||
/// NB: Legacy API for older code.
|
||||
impl VoiceConversionMediaTokenType {
|
||||
pub fn to_str(&self) -> &'static str {
|
||||
match self {
|
||||
Self::MediaUpload => "media_upload",
|
||||
}
|
||||
}
|
||||
|
||||
pub fn from_str(value: &str) -> Result<Self, String> {
|
||||
match value {
|
||||
"media_upload" => Ok(Self::MediaUpload),
|
||||
_ => Err(format!("invalid value: {:?}", value)),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use crate::by_table::voice_conversion_results::voice_conversion_media_token_type::VoiceConversionMediaTokenType;
|
||||
use crate::test_helpers::assert_serialization;
|
||||
|
||||
#[test]
|
||||
fn test_serialization() {
|
||||
assert_serialization(VoiceConversionMediaTokenType::MediaUpload, "media_upload");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_to_str() {
|
||||
assert_eq!(VoiceConversionMediaTokenType::MediaUpload.to_str(), "media_upload");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_from_str() {
|
||||
assert_eq!(VoiceConversionMediaTokenType::from_str("media_upload").unwrap(), VoiceConversionMediaTokenType::MediaUpload);
|
||||
assert!(VoiceConversionMediaTokenType::from_str("foo").is_err());
|
||||
}
|
||||
}
|
||||
+6
-1
@@ -4,6 +4,7 @@ use errors::AnyhowResult;
|
||||
use log::warn;
|
||||
use sqlx::MySqlPool;
|
||||
use sqlx;
|
||||
use enums::by_table::voice_conversion_results::voice_conversion_media_token_type::VoiceConversionMediaTokenType;
|
||||
use tokens::tokens::voice_conversion_results::VoiceConversionResultToken;
|
||||
|
||||
/// Used to give user-facing order to logged in user inference requests
|
||||
@@ -98,7 +99,9 @@ SET
|
||||
token = ?,
|
||||
|
||||
model_token = ?,
|
||||
|
||||
media_token = ?,
|
||||
media_token_type= ?,
|
||||
|
||||
maybe_creator_user_token = ?,
|
||||
maybe_creator_synthetic_id = ?,
|
||||
@@ -119,7 +122,9 @@ SET
|
||||
result_token.as_str(),
|
||||
|
||||
args.job.maybe_model_token,
|
||||
"",
|
||||
|
||||
"", // TODO
|
||||
VoiceConversionMediaTokenType::MediaUpload.to_str(),
|
||||
|
||||
args.job.maybe_creator_user_token,
|
||||
maybe_creator_synthetic_id,
|
||||
|
||||
Reference in new issue
Block a user