media token type

This commit is contained in:
Brandon Thomas committed 2023-04-23 03:58:16 -07:00
1 parent e36fb66e05
commit 78263e3c49
4 files changed
+68 -1

No files matched your search

+1
View File
@@ -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;
@@ -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());
}
}
@@ -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,