mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-01 07:58:23 +00:00
public model type in API
This commit is contained in:
1 parent
7babe2d122
commit
8fc89f993e
13 files changed
+262
-71
No files matched your search
@@ -0,0 +1 @@
|
||||
pub mod public_media_file_model_type;
|
||||
@@ -0,0 +1,228 @@
|
||||
use serde::Deserialize;
|
||||
use serde::Serialize;
|
||||
#[cfg(test)]
|
||||
use strum::EnumCount;
|
||||
#[cfg(test)]
|
||||
use strum::EnumIter;
|
||||
use utoipa::ToSchema;
|
||||
|
||||
use enums::by_table::media_files::media_file_origin_model_type::MediaFileOriginModelType;
|
||||
|
||||
/// Report certain models publicly as different from what we actually use.
|
||||
/// This is so we have an edge against the competition that might try to run
|
||||
/// the same models. This won't always make sense, but in some cases it will.
|
||||
#[cfg_attr(test, derive(EnumIter, EnumCount))]
|
||||
#[derive(Clone, Copy, Eq, PartialEq, Hash, Ord, PartialOrd, Deserialize, Serialize, ToSchema, Debug)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum PublicMediaFileModelType {
|
||||
// Renamed enum variants
|
||||
|
||||
/// Instead of `MediaFileOriginModelType::LivePortrait` ("live_portrait")
|
||||
#[serde(rename = "face_mirror")]
|
||||
FaceMirror,
|
||||
|
||||
/// Instead of `MediaFileOriginModelType::SadTalker` ("sad_talker")
|
||||
#[serde(rename = "face_animator")]
|
||||
FaceAnimator,
|
||||
|
||||
/// Instead of `MediaFileOriginModelType::StyleTTS2` ("styletts2")
|
||||
#[serde(rename = "voice_designer")]
|
||||
VoiceDesigner,
|
||||
|
||||
// Everything else is the same
|
||||
|
||||
/// RVC (v2) voice conversion models
|
||||
#[serde(rename = "rvc_v2")]
|
||||
RvcV2,
|
||||
|
||||
/// so-vits-svc voice conversion models
|
||||
#[serde(rename = "so_vits_svc")]
|
||||
SoVitsSvc,
|
||||
|
||||
#[serde(rename = "tacotron2")]
|
||||
Tacotron2,
|
||||
|
||||
#[serde(rename = "mocap_net")]
|
||||
MocapNet,
|
||||
|
||||
#[serde(rename = "stable_diffusion_1_5")]
|
||||
StableDiffusion15,
|
||||
|
||||
#[serde(rename = "studio")]
|
||||
StorytellerStudio,
|
||||
|
||||
#[serde(rename = "vst")]
|
||||
VideoStyleTransfer,
|
||||
|
||||
#[deprecated(note = "This is not a model type!")]
|
||||
#[serde(rename = "comfy_ui")]
|
||||
ComfyUi,
|
||||
|
||||
#[deprecated(note = "We don't use this anymore")]
|
||||
#[serde(rename = "vall_e_x")]
|
||||
VallEX,
|
||||
|
||||
#[deprecated(note = "We don't use this anymore")]
|
||||
#[serde(rename = "rerender")]
|
||||
Rerender,
|
||||
}
|
||||
|
||||
/// NB: Legacy API for older code.
|
||||
impl PublicMediaFileModelType {
|
||||
pub fn from_enum(model_type: MediaFileOriginModelType) -> Self {
|
||||
match model_type {
|
||||
// Renamed variants
|
||||
MediaFileOriginModelType::LivePortrait => Self::FaceMirror,
|
||||
MediaFileOriginModelType::SadTalker => Self::FaceAnimator,
|
||||
MediaFileOriginModelType::StyleTTS2 => Self::VoiceDesigner,
|
||||
// Conserved variants
|
||||
MediaFileOriginModelType::RvcV2 => Self::RvcV2,
|
||||
MediaFileOriginModelType::SoVitsSvc => Self::SoVitsSvc,
|
||||
MediaFileOriginModelType::Tacotron2 => Self::Tacotron2,
|
||||
MediaFileOriginModelType::MocapNet => Self::MocapNet,
|
||||
MediaFileOriginModelType::StableDiffusion15 => Self::StableDiffusion15,
|
||||
MediaFileOriginModelType::StorytellerStudio => Self::StorytellerStudio,
|
||||
MediaFileOriginModelType::VideoStyleTransfer => Self::VideoStyleTransfer,
|
||||
MediaFileOriginModelType::ComfyUi => Self::ComfyUi,
|
||||
MediaFileOriginModelType::VallEX => Self::VallEX,
|
||||
MediaFileOriginModelType::Rerender => Self::Rerender,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn to_enum(&self) -> MediaFileOriginModelType {
|
||||
match self {
|
||||
// Renamed variants
|
||||
PublicMediaFileModelType::FaceMirror => MediaFileOriginModelType::LivePortrait,
|
||||
PublicMediaFileModelType::FaceAnimator => MediaFileOriginModelType::SadTalker,
|
||||
PublicMediaFileModelType::VoiceDesigner => MediaFileOriginModelType::StyleTTS2,
|
||||
// Conserved variants
|
||||
PublicMediaFileModelType::RvcV2 => MediaFileOriginModelType::RvcV2,
|
||||
PublicMediaFileModelType::SoVitsSvc => MediaFileOriginModelType::SoVitsSvc,
|
||||
PublicMediaFileModelType::Tacotron2 => MediaFileOriginModelType::Tacotron2,
|
||||
PublicMediaFileModelType::MocapNet => MediaFileOriginModelType::MocapNet,
|
||||
PublicMediaFileModelType::StableDiffusion15 => MediaFileOriginModelType::StableDiffusion15,
|
||||
PublicMediaFileModelType::StorytellerStudio => MediaFileOriginModelType::StorytellerStudio,
|
||||
PublicMediaFileModelType::VideoStyleTransfer => MediaFileOriginModelType::VideoStyleTransfer,
|
||||
PublicMediaFileModelType::ComfyUi => MediaFileOriginModelType::ComfyUi,
|
||||
PublicMediaFileModelType::VallEX => MediaFileOriginModelType::VallEX,
|
||||
PublicMediaFileModelType::Rerender => MediaFileOriginModelType::Rerender,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use strum::IntoEnumIterator;
|
||||
|
||||
use crate::test_helpers::to_json;
|
||||
|
||||
use super::*;
|
||||
|
||||
fn override_enums() -> &'static [PublicMediaFileModelType; 3] {
|
||||
&[
|
||||
PublicMediaFileModelType::FaceMirror,
|
||||
PublicMediaFileModelType::FaceAnimator,
|
||||
PublicMediaFileModelType::VoiceDesigner,
|
||||
]
|
||||
}
|
||||
|
||||
mod override_values {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn live_portrait() {
|
||||
// Public --> Internal
|
||||
assert_eq!(PublicMediaFileModelType::FaceMirror.to_enum(), MediaFileOriginModelType::LivePortrait);
|
||||
assert_eq!(to_json(&PublicMediaFileModelType::FaceMirror.to_enum()), "live_portrait");
|
||||
|
||||
// Internal --> Public
|
||||
assert_eq!(PublicMediaFileModelType::from_enum(MediaFileOriginModelType::LivePortrait), PublicMediaFileModelType::FaceMirror);
|
||||
assert_eq!(to_json(&PublicMediaFileModelType::from_enum(MediaFileOriginModelType::LivePortrait)), "face_mirror");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn sad_talker() {
|
||||
// Public --> Internal
|
||||
assert_eq!(PublicMediaFileModelType::FaceAnimator.to_enum(), MediaFileOriginModelType::SadTalker);
|
||||
assert_eq!(to_json(&PublicMediaFileModelType::FaceAnimator.to_enum()), "sad_talker");
|
||||
|
||||
// Internal --> Public
|
||||
assert_eq!(PublicMediaFileModelType::from_enum(MediaFileOriginModelType::SadTalker), PublicMediaFileModelType::FaceAnimator);
|
||||
assert_eq!(to_json(&PublicMediaFileModelType::from_enum(MediaFileOriginModelType::SadTalker)), "face_animator");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn styletts2() {
|
||||
// Public --> Internal
|
||||
assert_eq!(PublicMediaFileModelType::VoiceDesigner.to_enum(), MediaFileOriginModelType::StyleTTS2);
|
||||
assert_eq!(to_json(&PublicMediaFileModelType::VoiceDesigner.to_enum()), "styletts2");
|
||||
|
||||
// Internal --> Public
|
||||
assert_eq!(PublicMediaFileModelType::from_enum(MediaFileOriginModelType::StyleTTS2), PublicMediaFileModelType::VoiceDesigner);
|
||||
assert_eq!(to_json(&PublicMediaFileModelType::from_enum(MediaFileOriginModelType::StyleTTS2)), "voice_designer");
|
||||
}
|
||||
}
|
||||
|
||||
mod mechanical_checks {
|
||||
use enums::by_table::media_files::media_file_origin_model_type::MediaFileOriginModelType;
|
||||
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn public_to_internal() {
|
||||
let mut tested_count = 0;
|
||||
|
||||
for public_variant in PublicMediaFileModelType::iter() {
|
||||
match public_variant {
|
||||
PublicMediaFileModelType::FaceMirror |
|
||||
PublicMediaFileModelType::FaceAnimator |
|
||||
PublicMediaFileModelType::VoiceDesigner => continue, // Can't compare.
|
||||
_ => {}
|
||||
}
|
||||
|
||||
// Round trip
|
||||
assert_eq!(public_variant, PublicMediaFileModelType::from_enum(public_variant.to_enum()));
|
||||
|
||||
let internal_enum_variant = public_variant.to_enum();
|
||||
let internal_enum_string = to_json(&internal_enum_variant);
|
||||
let public_enum_string = to_json(&public_variant);
|
||||
|
||||
assert_eq!(internal_enum_string, public_enum_string);
|
||||
|
||||
tested_count += 1;
|
||||
}
|
||||
|
||||
assert!(tested_count > 1);
|
||||
assert_eq!(tested_count, PublicMediaFileModelType::iter().len() - override_enums().len());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn internal_to_public() {
|
||||
let mut tested_count = 0;
|
||||
|
||||
for internal_variant in MediaFileOriginModelType::all_variants() {
|
||||
match internal_variant {
|
||||
MediaFileOriginModelType::LivePortrait |
|
||||
MediaFileOriginModelType::SadTalker |
|
||||
MediaFileOriginModelType::StyleTTS2 => continue, // Can't compare.
|
||||
_ => {}
|
||||
}
|
||||
|
||||
// Round trip
|
||||
assert_eq!(internal_variant, PublicMediaFileModelType::from_enum(internal_variant).to_enum());
|
||||
|
||||
let public_enum_variant = PublicMediaFileModelType::from_enum(internal_variant);
|
||||
let public_enum_string = to_json(&public_enum_variant);
|
||||
let internal_enum_string = to_json(&internal_variant);
|
||||
|
||||
// Same serialization
|
||||
assert_eq!(internal_enum_string, public_enum_string);
|
||||
|
||||
tested_count += 1;
|
||||
}
|
||||
|
||||
assert!(tested_count > 1);
|
||||
assert_eq!(tested_count, MediaFileOriginModelType::all_variants().len() - override_enums().len());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +1,3 @@
|
||||
pub mod generic_inference_jobs;
|
||||
pub mod media_files;
|
||||
pub mod model_weights;
|
||||
@@ -12,7 +12,6 @@ use enums::by_table::media_files::media_file_animation_type::MediaFileAnimationT
|
||||
use enums::by_table::media_files::media_file_class::MediaFileClass;
|
||||
use enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory;
|
||||
use enums::by_table::media_files::media_file_origin_category::MediaFileOriginCategory;
|
||||
use enums::by_table::media_files::media_file_origin_model_type::MediaFileOriginModelType;
|
||||
use enums::by_table::media_files::media_file_origin_product_category::MediaFileOriginProductCategory;
|
||||
use enums::by_table::media_files::media_file_subtype::MediaFileSubtype;
|
||||
use enums::by_table::media_files::media_file_type::MediaFileType;
|
||||
@@ -25,6 +24,7 @@ use enums::by_table::users::user_feature_flag::UserFeatureFlag;
|
||||
use enums::common::job_status_plus::JobStatusPlus;
|
||||
use enums::common::visibility::Visibility;
|
||||
use enums::no_table::style_transfer::style_transfer_name::StyleTransferName;
|
||||
use enums_public::by_table::media_files::public_media_file_model_type::PublicMediaFileModelType;
|
||||
use enums_public::by_table::model_weights::public_weights_types::PublicWeightsType;
|
||||
use tokens::tokens::batch_generations::*;
|
||||
use tokens::tokens::beta_keys::*;
|
||||
@@ -245,11 +245,11 @@ use crate::http_server::web_utils::response_success_helpers::*;
|
||||
MediaFileClass,
|
||||
MediaFileEngineCategory,
|
||||
MediaFileOriginCategory,
|
||||
MediaFileOriginModelType,
|
||||
MediaFileOriginProductCategory,
|
||||
MediaFileSubtype,
|
||||
MediaFileType,
|
||||
PromptType,
|
||||
PublicMediaFileModelType,
|
||||
PublicWeightsType,
|
||||
StyleTransferName,
|
||||
UserFeatureFlag,
|
||||
|
||||
+5
-4
@@ -3,6 +3,7 @@ use utoipa::ToSchema;
|
||||
use enums::by_table::media_files::media_file_origin_category::MediaFileOriginCategory;
|
||||
use enums::by_table::media_files::media_file_origin_model_type::MediaFileOriginModelType;
|
||||
use enums::by_table::media_files::media_file_origin_product_category::MediaFileOriginProductCategory;
|
||||
use enums_public::by_table::media_files::public_media_file_model_type::PublicMediaFileModelType;
|
||||
use tokens::tokens::model_weights::ModelWeightToken;
|
||||
|
||||
/// Fields useful for enriching media file listings
|
||||
@@ -27,13 +28,13 @@ pub enum MediaFileModelDetails {
|
||||
/// eg. SadTalker, Wav2Lip, MocapNet, etc.
|
||||
SystemModel {
|
||||
/// The type of model weight
|
||||
model_type: MediaFileOriginModelType,
|
||||
model_type: PublicMediaFileModelType,
|
||||
},
|
||||
/// A model weight is typically a user-submitted model.
|
||||
/// We store lots of these.
|
||||
ModelWeight {
|
||||
/// The type of model weight
|
||||
model_type: MediaFileOriginModelType,
|
||||
model_type: PublicMediaFileModelType,
|
||||
/// The model token
|
||||
token: ModelWeightToken,
|
||||
/// The model title (typically only populated for `model_weights` models, not legacy tables such as `tts_models`.)
|
||||
@@ -52,14 +53,14 @@ impl MediaFileOriginDetails {
|
||||
let maybe_model = match (maybe_model_type, maybe_model_token, maybe_model_title) {
|
||||
(Some(model_type), Some(model_token), Some(model_title)) => {
|
||||
Some(MediaFileModelDetails::ModelWeight {
|
||||
model_type,
|
||||
model_type: PublicMediaFileModelType::from_enum(model_type),
|
||||
token: model_token,
|
||||
title: model_title,
|
||||
})
|
||||
},
|
||||
(Some(model_type), None, None) => {
|
||||
Some(MediaFileModelDetails::SystemModel {
|
||||
model_type,
|
||||
model_type: PublicMediaFileModelType::from_enum(model_type),
|
||||
})
|
||||
},
|
||||
_ => None,
|
||||
|
||||
+1
-10
@@ -12,27 +12,18 @@ use utoipa::{IntoParams, ToSchema};
|
||||
|
||||
use buckets::public::media_files::bucket_file_path::MediaFileBucketPath;
|
||||
use enums::by_table::beta_keys::beta_key_product::BetaKeyProduct;
|
||||
use enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType;
|
||||
use enums::by_table::media_files::media_file_class::MediaFileClass;
|
||||
use enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory;
|
||||
use enums::by_table::media_files::media_file_origin_category::MediaFileOriginCategory;
|
||||
use enums::by_table::media_files::media_file_origin_model_type::MediaFileOriginModelType;
|
||||
use enums::by_table::media_files::media_file_origin_product_category::MediaFileOriginProductCategory;
|
||||
use enums::by_table::media_files::media_file_type::MediaFileType;
|
||||
use enums::common::view_as::ViewAs;
|
||||
use enums::no_table::style_transfer::style_transfer_name::StyleTransferName;
|
||||
use markdown::markdown_with_socials_to_html::markdown_with_socials_to_html;
|
||||
use mysql_queries::queries::beta_keys::list_beta_keys::{FilterToKeys, list_beta_keys, ListBetaKeysArgs};
|
||||
use mysql_queries::queries::users::user_profiles::get_user_profile_by_username::get_user_profile_by_username;
|
||||
use tokens::tokens::beta_keys::BetaKeyToken;
|
||||
use tokens::tokens::media_files::MediaFileToken;
|
||||
use crate::http_server::common_responses::user_details_lite::UserDetailsLight;
|
||||
|
||||
use crate::http_server::common_responses::media_file_cover_image_details::{MediaFileCoverImageDetails, MediaFileDefaultCover};
|
||||
use crate::http_server::common_responses::media_file_origin_details::MediaFileOriginDetails;
|
||||
use crate::http_server::common_responses::pagination_cursors::PaginationCursors;
|
||||
use crate::http_server::common_responses::pagination_page::PaginationPage;
|
||||
use crate::http_server::common_responses::simple_entity_stats::SimpleEntityStats;
|
||||
use crate::http_server::common_responses::user_details_lite::UserDetailsLight;
|
||||
use crate::http_server::endpoints::beta_keys::create_beta_keys_handler::CreateBetaKeysError;
|
||||
use crate::http_server::endpoints::events::list_events::ListEventsError;
|
||||
use crate::http_server::web_utils::require_moderator::{require_moderator, RequireModeratorError};
|
||||
|
||||
+4
-3
@@ -14,11 +14,11 @@ use enums::by_table::media_files::media_file_animation_type::MediaFileAnimationT
|
||||
use enums::by_table::media_files::media_file_class::MediaFileClass;
|
||||
use enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory;
|
||||
use enums::by_table::media_files::media_file_origin_category::MediaFileOriginCategory;
|
||||
use enums::by_table::media_files::media_file_origin_model_type::MediaFileOriginModelType;
|
||||
use enums::by_table::media_files::media_file_origin_product_category::MediaFileOriginProductCategory;
|
||||
use enums::by_table::media_files::media_file_type::MediaFileType;
|
||||
use enums::common::view_as::ViewAs;
|
||||
use enums::no_table::style_transfer::style_transfer_name::StyleTransferName;
|
||||
use enums_public::by_table::media_files::public_media_file_model_type::PublicMediaFileModelType;
|
||||
use mysql_queries::queries::media_files::get::batch_get_media_files_by_tokens::batch_get_media_files_by_tokens;
|
||||
use mysql_queries::queries::media_files::list::list_featured_media_files::{FeaturedMediaFileListPage, list_featured_media_files, ListFeaturedMediaFilesArgs};
|
||||
use tokens::tokens::media_files::MediaFileToken;
|
||||
@@ -113,7 +113,7 @@ pub struct FeaturedMediaFile {
|
||||
pub origin_product_category: MediaFileOriginProductCategory,
|
||||
|
||||
#[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
pub maybe_origin_model_type: Option<MediaFileOriginModelType>,
|
||||
pub maybe_origin_model_type: Option<PublicMediaFileModelType>,
|
||||
|
||||
#[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
pub maybe_origin_model_token: Option<String>,
|
||||
@@ -256,7 +256,8 @@ pub async fn list_featured_media_files_handler(
|
||||
m.maybe_origin_model_title.as_deref()),
|
||||
origin_category: m.origin_category,
|
||||
origin_product_category: m.origin_product_category,
|
||||
maybe_origin_model_type: m.maybe_origin_model_type,
|
||||
maybe_origin_model_type: m.maybe_origin_model_type
|
||||
.map(|t| PublicMediaFileModelType::from_enum(t)),
|
||||
maybe_origin_model_token: m.maybe_origin_model_token,
|
||||
maybe_creator: UserDetailsLight::from_optional_db_fields_owned(
|
||||
m.maybe_creator_user_token,
|
||||
|
||||
+4
-3
@@ -13,12 +13,12 @@ use enums::by_table::media_files::media_file_animation_type::MediaFileAnimationT
|
||||
use enums::by_table::media_files::media_file_class::MediaFileClass;
|
||||
use enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory;
|
||||
use enums::by_table::media_files::media_file_origin_category::MediaFileOriginCategory;
|
||||
use enums::by_table::media_files::media_file_origin_model_type::MediaFileOriginModelType;
|
||||
use enums::by_table::media_files::media_file_origin_product_category::MediaFileOriginProductCategory;
|
||||
use enums::by_table::media_files::media_file_type::MediaFileType;
|
||||
use enums::common::view_as::ViewAs;
|
||||
use enums::common::visibility::Visibility;
|
||||
use enums::no_table::style_transfer::style_transfer_name::StyleTransferName;
|
||||
use enums_public::by_table::media_files::public_media_file_model_type::PublicMediaFileModelType;
|
||||
use mysql_queries::queries::media_files::list::list_media_files_by_batch_token::{list_media_files_by_batch_token, ListMediaFileByBatchArgs};
|
||||
use mysql_queries::queries::media_files::list::list_media_files_for_user::{list_media_files_for_user, ListMediaFileForUserArgs};
|
||||
use tokens::tokens::batch_generations::BatchGenerationToken;
|
||||
@@ -84,7 +84,7 @@ pub struct MediaFilesByBatchListItem {
|
||||
pub origin_product_category: MediaFileOriginProductCategory,
|
||||
|
||||
#[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
pub maybe_origin_model_type: Option<MediaFileOriginModelType>,
|
||||
pub maybe_origin_model_type: Option<PublicMediaFileModelType>,
|
||||
|
||||
#[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
pub maybe_origin_model_token: Option<String>,
|
||||
@@ -246,7 +246,8 @@ pub async fn list_media_files_by_batch_token_handler(
|
||||
record.maybe_origin_model_title.as_deref()),
|
||||
origin_category: record.origin_category,
|
||||
origin_product_category: record.origin_product_category,
|
||||
maybe_origin_model_type: record.maybe_origin_model_type,
|
||||
maybe_origin_model_type: record.maybe_origin_model_type
|
||||
.map(|t| PublicMediaFileModelType::from_enum(t)),
|
||||
maybe_origin_model_token: record.maybe_origin_model_token,
|
||||
public_bucket_path: MediaFileBucketPath::from_object_hash(
|
||||
&record.public_bucket_directory_hash,
|
||||
|
||||
+4
-3
@@ -14,12 +14,12 @@ use enums::by_table::media_files::media_file_animation_type::MediaFileAnimationT
|
||||
use enums::by_table::media_files::media_file_class::MediaFileClass;
|
||||
use enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory;
|
||||
use enums::by_table::media_files::media_file_origin_category::MediaFileOriginCategory;
|
||||
use enums::by_table::media_files::media_file_origin_model_type::MediaFileOriginModelType;
|
||||
use enums::by_table::media_files::media_file_origin_product_category::MediaFileOriginProductCategory;
|
||||
use enums::by_table::media_files::media_file_type::MediaFileType;
|
||||
use enums::common::view_as::ViewAs;
|
||||
use enums::common::visibility::Visibility;
|
||||
use enums::no_table::style_transfer::style_transfer_name::StyleTransferName;
|
||||
use enums_public::by_table::media_files::public_media_file_model_type::PublicMediaFileModelType;
|
||||
use mysql_queries::queries::media_files::list::list_media_files_for_user::{list_media_files_for_user, ListMediaFileForUserArgs};
|
||||
use tokens::tokens::media_files::MediaFileToken;
|
||||
|
||||
@@ -112,7 +112,7 @@ pub struct MediaFileForUserListItem {
|
||||
pub origin_product_category: MediaFileOriginProductCategory,
|
||||
|
||||
#[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
pub maybe_origin_model_type: Option<MediaFileOriginModelType>,
|
||||
pub maybe_origin_model_type: Option<PublicMediaFileModelType>,
|
||||
|
||||
#[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
pub maybe_origin_model_token: Option<String>,
|
||||
@@ -300,7 +300,8 @@ pub async fn list_media_files_for_user_handler(
|
||||
record.maybe_origin_model_title.as_deref()),
|
||||
origin_category: record.origin_category,
|
||||
origin_product_category: record.origin_product_category,
|
||||
maybe_origin_model_type: record.maybe_origin_model_type,
|
||||
maybe_origin_model_type: record.maybe_origin_model_type
|
||||
.map(|t| PublicMediaFileModelType::from_enum(t)),
|
||||
maybe_origin_model_token: record.maybe_origin_model_token,
|
||||
public_bucket_path: MediaFileBucketPath::from_object_hash(
|
||||
&record.public_bucket_directory_hash,
|
||||
|
||||
+5
-4
@@ -13,20 +13,20 @@ use enums::by_table::media_files::media_file_animation_type::MediaFileAnimationT
|
||||
use enums::by_table::media_files::media_file_class::MediaFileClass;
|
||||
use enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory;
|
||||
use enums::by_table::media_files::media_file_origin_category::MediaFileOriginCategory;
|
||||
use enums::by_table::media_files::media_file_origin_model_type::MediaFileOriginModelType;
|
||||
use enums::by_table::media_files::media_file_origin_product_category::MediaFileOriginProductCategory;
|
||||
use enums::by_table::media_files::media_file_type::MediaFileType;
|
||||
use enums::common::view_as::ViewAs;
|
||||
use enums::common::visibility::Visibility;
|
||||
use enums::no_table::style_transfer::style_transfer_name::StyleTransferName;
|
||||
use enums_public::by_table::media_files::public_media_file_model_type::PublicMediaFileModelType;
|
||||
use mysql_queries::queries::media_files::list::list_media_files::{list_media_files, ListMediaFilesArgs};
|
||||
use tokens::tokens::media_files::MediaFileToken;
|
||||
use crate::http_server::common_responses::user_details_lite::UserDetailsLight;
|
||||
|
||||
use crate::http_server::common_responses::media_file_cover_image_details::{MediaFileCoverImageDetails, MediaFileDefaultCover};
|
||||
use crate::http_server::common_responses::media_file_origin_details::MediaFileOriginDetails;
|
||||
use crate::http_server::common_responses::pagination_cursors::PaginationCursors;
|
||||
use crate::http_server::common_responses::simple_entity_stats::SimpleEntityStats;
|
||||
use crate::http_server::common_responses::user_details_lite::UserDetailsLight;
|
||||
use crate::http_server::endpoints::media_files::helpers::get_scoped_engine_categories::get_scoped_engine_categories;
|
||||
use crate::http_server::endpoints::media_files::helpers::get_scoped_media_classes::get_scoped_media_classes;
|
||||
use crate::http_server::endpoints::media_files::helpers::get_scoped_media_types::get_scoped_media_types;
|
||||
@@ -106,7 +106,7 @@ pub struct MediaFileListItem {
|
||||
pub origin_product_category: MediaFileOriginProductCategory,
|
||||
|
||||
#[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
pub maybe_origin_model_type: Option<MediaFileOriginModelType>,
|
||||
pub maybe_origin_model_type: Option<PublicMediaFileModelType>,
|
||||
|
||||
#[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
pub maybe_origin_model_token: Option<String>,
|
||||
@@ -306,7 +306,8 @@ pub async fn list_media_files_handler(
|
||||
record.maybe_origin_model_title.as_deref()),
|
||||
origin_category: record.origin_category,
|
||||
origin_product_category: record.origin_product_category,
|
||||
maybe_origin_model_type: record.maybe_origin_model_type,
|
||||
maybe_origin_model_type: record.maybe_origin_model_type
|
||||
.map(|m| PublicMediaFileModelType::from_enum(m)),
|
||||
maybe_origin_model_token: record.maybe_origin_model_token,
|
||||
public_bucket_path: MediaFileBucketPath::from_object_hash(
|
||||
&record.public_bucket_directory_hash,
|
||||
|
||||
+5
-4
@@ -13,17 +13,17 @@ use enums::by_table::media_files::media_file_animation_type::MediaFileAnimationT
|
||||
use enums::by_table::media_files::media_file_class::MediaFileClass;
|
||||
use enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory;
|
||||
use enums::by_table::media_files::media_file_origin_category::MediaFileOriginCategory;
|
||||
use enums::by_table::media_files::media_file_origin_model_type::MediaFileOriginModelType;
|
||||
use enums::by_table::media_files::media_file_origin_product_category::MediaFileOriginProductCategory;
|
||||
use enums::by_table::media_files::media_file_type::MediaFileType;
|
||||
use enums::no_table::style_transfer::style_transfer_name::StyleTransferName;
|
||||
use enums_public::by_table::media_files::public_media_file_model_type::PublicMediaFileModelType;
|
||||
use mysql_queries::queries::media_files::get::batch_get_media_files_by_tokens::batch_get_media_files_by_tokens;
|
||||
use tokens::tokens::media_files::MediaFileToken;
|
||||
use crate::http_server::common_responses::user_details_lite::UserDetailsLight;
|
||||
|
||||
use crate::http_server::common_responses::media_file_cover_image_details::{MediaFileCoverImageDetails, MediaFileDefaultCover};
|
||||
use crate::http_server::common_responses::media_file_origin_details::MediaFileOriginDetails;
|
||||
use crate::http_server::common_responses::simple_entity_stats::SimpleEntityStats;
|
||||
use crate::http_server::common_responses::user_details_lite::UserDetailsLight;
|
||||
use crate::state::server_state::ServerState;
|
||||
|
||||
#[derive(Serialize, ToSchema)]
|
||||
@@ -69,7 +69,7 @@ pub struct PinnedMediaFile {
|
||||
pub origin_product_category: MediaFileOriginProductCategory,
|
||||
|
||||
#[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
pub maybe_origin_model_type: Option<MediaFileOriginModelType>,
|
||||
pub maybe_origin_model_type: Option<PublicMediaFileModelType>,
|
||||
|
||||
#[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
pub maybe_origin_model_token: Option<String>,
|
||||
@@ -210,7 +210,8 @@ pub async fn list_pinned_media_files_handler(
|
||||
m.maybe_origin_model_title.as_deref()),
|
||||
origin_category: m.origin_category,
|
||||
origin_product_category: m.origin_product_category,
|
||||
maybe_origin_model_type: m.maybe_origin_model_type,
|
||||
maybe_origin_model_type: m.maybe_origin_model_type
|
||||
.map(|m| PublicMediaFileModelType::from_enum(m)),
|
||||
maybe_origin_model_token: m.maybe_origin_model_token,
|
||||
maybe_creator: UserDetailsLight::from_optional_db_fields_owned(
|
||||
m.maybe_creator_user_token,
|
||||
|
||||
+1
-19
@@ -13,20 +13,17 @@ use elasticsearch_schema::searches::search_media_files::{search_media_files, Sea
|
||||
use enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType;
|
||||
use enums::by_table::media_files::media_file_class::MediaFileClass;
|
||||
use enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory;
|
||||
use enums::by_table::media_files::media_file_origin_category::MediaFileOriginCategory;
|
||||
use enums::by_table::media_files::media_file_origin_model_type::MediaFileOriginModelType;
|
||||
use enums::by_table::media_files::media_file_origin_product_category::MediaFileOriginProductCategory;
|
||||
use enums::by_table::media_files::media_file_type::MediaFileType;
|
||||
use enums::common::view_as::ViewAs;
|
||||
use enums::common::visibility::Visibility;
|
||||
use enums::no_table::style_transfer::style_transfer_name::StyleTransferName;
|
||||
use tokens::tokens::media_files::MediaFileToken;
|
||||
use crate::http_server::common_responses::user_details_lite::UserDetailsLight;
|
||||
|
||||
use crate::http_server::common_responses::media_file_cover_image_details::{MediaFileCoverImageDetails, MediaFileDefaultCover};
|
||||
use crate::http_server::common_responses::media_file_origin_details::MediaFileOriginDetails;
|
||||
use crate::http_server::common_responses::pagination_cursors::PaginationCursors;
|
||||
use crate::http_server::common_responses::simple_entity_stats::SimpleEntityStats;
|
||||
use crate::http_server::common_responses::user_details_lite::UserDetailsLight;
|
||||
use crate::http_server::endpoints::media_files::helpers::get_scoped_engine_categories::get_scoped_engine_categories;
|
||||
use crate::http_server::endpoints::media_files::helpers::get_scoped_media_classes::get_scoped_media_classes;
|
||||
use crate::http_server::endpoints::media_files::helpers::get_scoped_media_types::get_scoped_media_types;
|
||||
@@ -98,21 +95,6 @@ pub struct SearchFeaturedMediaFileListItem {
|
||||
/// this describes the animation regime used or supported.
|
||||
pub maybe_animation_type: Option<MediaFileAnimationType>,
|
||||
|
||||
// #[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
// pub origin_category: MediaFileOriginCategory,
|
||||
|
||||
// #[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
// pub origin_product_category: MediaFileOriginProductCategory,
|
||||
|
||||
// #[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
// pub maybe_origin_model_type: Option<MediaFileOriginModelType>,
|
||||
|
||||
// #[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
// pub maybe_origin_model_token: Option<String>,
|
||||
|
||||
// /// Details where the media file came from.
|
||||
// pub origin: MediaFileOriginDetails,
|
||||
|
||||
/// URL to the media file.
|
||||
pub public_bucket_path: String,
|
||||
|
||||
|
||||
+1
-19
@@ -13,21 +13,18 @@ use elasticsearch_schema::searches::search_media_files::{search_media_files, Sea
|
||||
use enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType;
|
||||
use enums::by_table::media_files::media_file_class::MediaFileClass;
|
||||
use enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory;
|
||||
use enums::by_table::media_files::media_file_origin_category::MediaFileOriginCategory;
|
||||
use enums::by_table::media_files::media_file_origin_model_type::MediaFileOriginModelType;
|
||||
use enums::by_table::media_files::media_file_origin_product_category::MediaFileOriginProductCategory;
|
||||
use enums::by_table::media_files::media_file_type::MediaFileType;
|
||||
use enums::common::view_as::ViewAs;
|
||||
use enums::common::visibility::Visibility;
|
||||
use enums::no_table::style_transfer::style_transfer_name::StyleTransferName;
|
||||
use tokens::tokens::media_files::MediaFileToken;
|
||||
use tokens::tokens::users::UserToken;
|
||||
use crate::http_server::common_responses::user_details_lite::UserDetailsLight;
|
||||
|
||||
use crate::http_server::common_responses::media_file_cover_image_details::{MediaFileCoverImageDetails, MediaFileDefaultCover};
|
||||
use crate::http_server::common_responses::media_file_origin_details::MediaFileOriginDetails;
|
||||
use crate::http_server::common_responses::pagination_cursors::PaginationCursors;
|
||||
use crate::http_server::common_responses::simple_entity_stats::SimpleEntityStats;
|
||||
use crate::http_server::common_responses::user_details_lite::UserDetailsLight;
|
||||
use crate::http_server::endpoints::media_files::helpers::get_scoped_engine_categories::get_scoped_engine_categories;
|
||||
use crate::http_server::endpoints::media_files::helpers::get_scoped_media_classes::get_scoped_media_classes;
|
||||
use crate::http_server::endpoints::media_files::helpers::get_scoped_media_types::get_scoped_media_types;
|
||||
@@ -99,21 +96,6 @@ pub struct SearchMediaFileListItem {
|
||||
/// this describes the animation regime used or supported.
|
||||
pub maybe_animation_type: Option<MediaFileAnimationType>,
|
||||
|
||||
// #[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
// pub origin_category: MediaFileOriginCategory,
|
||||
|
||||
// #[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
// pub origin_product_category: MediaFileOriginProductCategory,
|
||||
|
||||
// #[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
// pub maybe_origin_model_type: Option<MediaFileOriginModelType>,
|
||||
|
||||
// #[deprecated(note="Use MediaFileOriginDetails instead")]
|
||||
// pub maybe_origin_model_token: Option<String>,
|
||||
|
||||
// /// Details where the media file came from.
|
||||
// pub origin: MediaFileOriginDetails,
|
||||
|
||||
/// URL to the media file.
|
||||
pub public_bucket_path: String,
|
||||
|
||||
|
||||
Reference in new issue
Block a user