mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-03 00:47:53 +00:00
get weight - add creator + cover for model weights; rename fields
This commit is contained in:
1 parent
dbd91dd67f
commit
b331cc999c
5 files changed
+274
-27
No files matched your search
+84
-7
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"db_name": "MySQL",
|
||||
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nWHERE\n m.token = ?\n ",
|
||||
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nWHERE\n m.token = ?\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
@@ -115,17 +115,17 @@
|
||||
},
|
||||
{
|
||||
"ordinal": 11,
|
||||
"name": "public_bucket_directory_hash",
|
||||
"name": "maybe_model_cover_image_public_bucket_hash",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
|
||||
"flags": "BINARY | NO_DEFAULT_VALUE",
|
||||
"char_set": 224,
|
||||
"max_size": 128
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 12,
|
||||
"name": "maybe_public_bucket_prefix",
|
||||
"name": "maybe_model_cover_image_public_bucket_prefix",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "BINARY",
|
||||
@@ -135,7 +135,7 @@
|
||||
},
|
||||
{
|
||||
"ordinal": 13,
|
||||
"name": "maybe_public_bucket_extension",
|
||||
"name": "maybe_model_cover_image_public_bucket_extension",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "BINARY",
|
||||
@@ -145,6 +145,76 @@
|
||||
},
|
||||
{
|
||||
"ordinal": 14,
|
||||
"name": "maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
|
||||
"char_set": 224,
|
||||
"max_size": 128
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 15,
|
||||
"name": "maybe_model_weight_creator_username",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
|
||||
"char_set": 224,
|
||||
"max_size": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 16,
|
||||
"name": "maybe_model_weight_creator_display_name",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "BINARY | NO_DEFAULT_VALUE",
|
||||
"char_set": 224,
|
||||
"max_size": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 17,
|
||||
"name": "maybe_model_weight_creator_gravatar_hash",
|
||||
"type_info": {
|
||||
"type": "String",
|
||||
"flags": "BINARY | NO_DEFAULT_VALUE",
|
||||
"char_set": 224,
|
||||
"max_size": 128
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 18,
|
||||
"name": "public_bucket_directory_hash",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
|
||||
"char_set": 224,
|
||||
"max_size": 128
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 19,
|
||||
"name": "maybe_public_bucket_prefix",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "BINARY",
|
||||
"char_set": 224,
|
||||
"max_size": 64
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 20,
|
||||
"name": "maybe_public_bucket_extension",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "BINARY",
|
||||
"char_set": 224,
|
||||
"max_size": 64
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 21,
|
||||
"name": "created_at",
|
||||
"type_info": {
|
||||
"type": "Timestamp",
|
||||
@@ -154,7 +224,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 15,
|
||||
"ordinal": 22,
|
||||
"name": "updated_at",
|
||||
"type_info": {
|
||||
"type": "Timestamp",
|
||||
@@ -179,6 +249,13 @@
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
@@ -186,5 +263,5 @@
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "4f0517f34dec33c7714a55272fd06cd9e5139f6a8acf83a2e20de431eb4a0f9d"
|
||||
"hash": "5126434fe542604233d8c8a4f553998d8e71b4957989a9a856ebaf7fb52bab42"
|
||||
}
|
||||
+84
-7
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"db_name": "MySQL",
|
||||
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nWHERE\n m.token = ?\n AND m.user_deleted_at IS NULL\n AND m.mod_deleted_at IS NULL\n ",
|
||||
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nWHERE\n m.token = ?\n AND m.user_deleted_at IS NULL\n AND m.mod_deleted_at IS NULL\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
@@ -115,17 +115,17 @@
|
||||
},
|
||||
{
|
||||
"ordinal": 11,
|
||||
"name": "public_bucket_directory_hash",
|
||||
"name": "maybe_model_cover_image_public_bucket_hash",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
|
||||
"flags": "BINARY | NO_DEFAULT_VALUE",
|
||||
"char_set": 224,
|
||||
"max_size": 128
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 12,
|
||||
"name": "maybe_public_bucket_prefix",
|
||||
"name": "maybe_model_cover_image_public_bucket_prefix",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "BINARY",
|
||||
@@ -135,7 +135,7 @@
|
||||
},
|
||||
{
|
||||
"ordinal": 13,
|
||||
"name": "maybe_public_bucket_extension",
|
||||
"name": "maybe_model_cover_image_public_bucket_extension",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "BINARY",
|
||||
@@ -145,6 +145,76 @@
|
||||
},
|
||||
{
|
||||
"ordinal": 14,
|
||||
"name": "maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
|
||||
"char_set": 224,
|
||||
"max_size": 128
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 15,
|
||||
"name": "maybe_model_weight_creator_username",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
|
||||
"char_set": 224,
|
||||
"max_size": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 16,
|
||||
"name": "maybe_model_weight_creator_display_name",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "BINARY | NO_DEFAULT_VALUE",
|
||||
"char_set": 224,
|
||||
"max_size": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 17,
|
||||
"name": "maybe_model_weight_creator_gravatar_hash",
|
||||
"type_info": {
|
||||
"type": "String",
|
||||
"flags": "BINARY | NO_DEFAULT_VALUE",
|
||||
"char_set": 224,
|
||||
"max_size": 128
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 18,
|
||||
"name": "public_bucket_directory_hash",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
|
||||
"char_set": 224,
|
||||
"max_size": 128
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 19,
|
||||
"name": "maybe_public_bucket_prefix",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "BINARY",
|
||||
"char_set": 224,
|
||||
"max_size": 64
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 20,
|
||||
"name": "maybe_public_bucket_extension",
|
||||
"type_info": {
|
||||
"type": "VarString",
|
||||
"flags": "BINARY",
|
||||
"char_set": 224,
|
||||
"max_size": 64
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 21,
|
||||
"name": "created_at",
|
||||
"type_info": {
|
||||
"type": "Timestamp",
|
||||
@@ -154,7 +224,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"ordinal": 15,
|
||||
"ordinal": 22,
|
||||
"name": "updated_at",
|
||||
"type_info": {
|
||||
"type": "Timestamp",
|
||||
@@ -179,6 +249,13 @@
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
@@ -186,5 +263,5 @@
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "59b2bf500a8f32919d08db935e01fbb2723d5356d3f045ca18889c9317589edd"
|
||||
"hash": "58648783cb376fc7ad093ff50a8a7bcb3c55fe57b2ad7d3ebbbdbc63573069ba"
|
||||
}
|
||||
@@ -39,6 +39,15 @@ pub struct MediaFile {
|
||||
pub maybe_model_weights_type: Option<WeightsType>,
|
||||
pub maybe_model_weights_category: Option<WeightsCategory>,
|
||||
|
||||
pub maybe_model_cover_image_public_bucket_hash: Option<String>,
|
||||
pub maybe_model_cover_image_public_bucket_prefix: Option<String>,
|
||||
pub maybe_model_cover_image_public_bucket_extension: Option<String>,
|
||||
|
||||
pub maybe_model_weight_creator_user_token: Option<UserToken>,
|
||||
pub maybe_model_weight_creator_username: Option<String>,
|
||||
pub maybe_model_weight_creator_display_name: Option<String>,
|
||||
pub maybe_model_weight_creator_gravatar_hash: Option<String>,
|
||||
|
||||
pub public_bucket_directory_hash: String,
|
||||
pub maybe_public_bucket_prefix: Option<String>,
|
||||
pub maybe_public_bucket_extension: Option<String>,
|
||||
@@ -81,6 +90,15 @@ pub struct MediaFileRaw {
|
||||
pub maybe_model_weights_type: Option<WeightsType>,
|
||||
pub maybe_model_weights_category: Option<WeightsCategory>,
|
||||
|
||||
pub maybe_model_cover_image_public_bucket_hash: Option<String>,
|
||||
pub maybe_model_cover_image_public_bucket_prefix: Option<String>,
|
||||
pub maybe_model_cover_image_public_bucket_extension: Option<String>,
|
||||
|
||||
pub maybe_model_weight_creator_user_token: Option<UserToken>,
|
||||
pub maybe_model_weight_creator_username: Option<String>,
|
||||
pub maybe_model_weight_creator_display_name: Option<String>,
|
||||
pub maybe_model_weight_creator_gravatar_hash: Option<String>,
|
||||
|
||||
pub public_bucket_directory_hash: String,
|
||||
pub maybe_public_bucket_prefix: Option<String>,
|
||||
pub maybe_public_bucket_extension: Option<String>,
|
||||
@@ -126,6 +144,13 @@ pub async fn get_media_file(
|
||||
maybe_model_weights_title: record.maybe_model_weights_title,
|
||||
maybe_model_weights_type: record.maybe_model_weights_type,
|
||||
maybe_model_weights_category: record.maybe_model_weights_category,
|
||||
maybe_model_cover_image_public_bucket_hash: record.maybe_model_cover_image_public_bucket_hash,
|
||||
maybe_model_cover_image_public_bucket_prefix: record.maybe_model_cover_image_public_bucket_prefix,
|
||||
maybe_model_cover_image_public_bucket_extension: record.maybe_model_cover_image_public_bucket_extension,
|
||||
maybe_model_weight_creator_user_token: record.maybe_model_weight_creator_user_token,
|
||||
maybe_model_weight_creator_username: record.maybe_model_weight_creator_username,
|
||||
maybe_model_weight_creator_display_name: record.maybe_model_weight_creator_display_name,
|
||||
maybe_model_weight_creator_gravatar_hash: record.maybe_model_weight_creator_gravatar_hash,
|
||||
public_bucket_directory_hash: record.public_bucket_directory_hash,
|
||||
maybe_public_bucket_prefix: record.maybe_public_bucket_prefix,
|
||||
maybe_public_bucket_extension: record.maybe_public_bucket_extension,
|
||||
@@ -158,6 +183,15 @@ SELECT
|
||||
model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,
|
||||
model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,
|
||||
|
||||
cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,
|
||||
cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,
|
||||
cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,
|
||||
|
||||
model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,
|
||||
model_weight_creator.username as maybe_model_weight_creator_username,
|
||||
model_weight_creator.display_name as maybe_model_weight_creator_display_name,
|
||||
model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,
|
||||
|
||||
m.public_bucket_directory_hash,
|
||||
m.maybe_public_bucket_prefix,
|
||||
m.maybe_public_bucket_extension,
|
||||
@@ -170,6 +204,10 @@ LEFT OUTER JOIN users
|
||||
ON m.maybe_creator_user_token = users.token
|
||||
LEFT OUTER JOIN model_weights
|
||||
ON m.maybe_origin_model_token = model_weights.token
|
||||
LEFT OUTER JOIN media_files as cover_image
|
||||
ON cover_image.token = model_weights.maybe_cover_image_media_file_token
|
||||
LEFT OUTER JOIN users as model_weight_creator
|
||||
ON model_weight_creator.token = model_weights.creator_user_token
|
||||
WHERE
|
||||
m.token = ?
|
||||
"#,
|
||||
@@ -203,6 +241,15 @@ SELECT
|
||||
model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,
|
||||
model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,
|
||||
|
||||
cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,
|
||||
cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,
|
||||
cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,
|
||||
|
||||
model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,
|
||||
model_weight_creator.username as maybe_model_weight_creator_username,
|
||||
model_weight_creator.display_name as maybe_model_weight_creator_display_name,
|
||||
model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,
|
||||
|
||||
m.public_bucket_directory_hash,
|
||||
m.maybe_public_bucket_prefix,
|
||||
m.maybe_public_bucket_extension,
|
||||
@@ -215,6 +262,10 @@ LEFT OUTER JOIN users
|
||||
ON m.maybe_creator_user_token = users.token
|
||||
LEFT OUTER JOIN model_weights
|
||||
ON m.maybe_origin_model_token = model_weights.token
|
||||
LEFT OUTER JOIN media_files as cover_image
|
||||
ON cover_image.token = model_weights.maybe_cover_image_media_file_token
|
||||
LEFT OUTER JOIN users as model_weight_creator
|
||||
ON model_weight_creator.token = model_weights.creator_user_token
|
||||
WHERE
|
||||
m.token = ?
|
||||
AND m.user_deleted_at IS NULL
|
||||
|
||||
@@ -64,18 +64,33 @@ use crate::http_server::web_utils::response_success_helpers::*;
|
||||
),
|
||||
components(schemas(
|
||||
// Tokens
|
||||
InferenceJobToken,
|
||||
MediaFileToken,
|
||||
ModelWeightToken,
|
||||
UserBookmarkToken,
|
||||
UserToken,
|
||||
// Common
|
||||
SimpleGenericJsonSuccess,Visibility,
|
||||
PaginationCursors,PaginationPage,
|
||||
|
||||
// Enums
|
||||
MediaFileOriginCategory,
|
||||
MediaFileOriginModelType,
|
||||
MediaFileOriginProductCategory,
|
||||
MediaFileType,
|
||||
WeightsCategory,
|
||||
WeightsType,
|
||||
|
||||
// Common response structs
|
||||
DefaultAvatarInfo,
|
||||
PaginationCursors,
|
||||
PaginationPage,
|
||||
SimpleGenericJsonSuccess,
|
||||
UserDetailsLight,
|
||||
Visibility,
|
||||
|
||||
// Inference
|
||||
EnqueueTTSRequest,EnqueueTTSRequestSuccessResponse,EnqueueTTSRequestError,InferenceJobToken,
|
||||
EnqueueTTSRequest,EnqueueTTSRequestSuccessResponse,EnqueueTTSRequestError,
|
||||
// Media Files
|
||||
GetMediaFilePathInfo,GetMediaFileError,GetMediaFileSuccessResponse,GetMediaFileModelInfo,MediaFileInfo,
|
||||
// Model Weights
|
||||
WeightsCategory,WeightsType,
|
||||
GetWeightPathInfo,GetWeightResponse,GetWeightError,
|
||||
UpdateWeightRequest,UpdateWeightRequest,UpdateWeightPathInfo,UpdateWeightRequest,UpdateWeightError,
|
||||
SetModelWeightCoverImageRequest,SetModelWeightCoverImageResponse,SetModelWeightCoverImagePathInfo,SetModelWeightCoverImageError,
|
||||
@@ -84,15 +99,13 @@ use crate::http_server::web_utils::response_success_helpers::*;
|
||||
ListWeightError,ModelWeightForList,ListWeightError,
|
||||
ListAvailableWeightsQuery,ListAvailableWeightsSuccessResponse,ModelWeightForList,
|
||||
ListWeightsByUserError,ListWeightsByUserSuccessResponse,ListWeightsByUserPathInfo,Weight,
|
||||
UserDetailsLight,DefaultAvatarInfo,
|
||||
WeightsData,MediaFileData,
|
||||
MediaFileOriginModelType,MediaFileOriginProductCategory,MediaFileOriginCategory,
|
||||
ListFeaturedMediaFilesSuccessResponse,MediaFile,MediaFileType, ListFeaturedMediaFilesError,
|
||||
ListFeaturedMediaFilesSuccessResponse,MediaFile, ListFeaturedMediaFilesError,
|
||||
ListMediaFilesSuccessResponse, ListMediaFilesError, MediaFileListItem, ListMediaFilesQueryParams,
|
||||
MediaFileSocialMetaLight,
|
||||
ListMediaFilesForUserSuccessResponse,ListMediaFilesForUserQueryParams,ListMediaFilesForUserError,ListMediaFilesForUserPathInfo,
|
||||
MediaFileForUserListItem, MediaFileForUserListItem,
|
||||
UserBookmarkToken,UserBookmarkDetailsForUserList,UserBookmarkEntityType,
|
||||
UserBookmarkDetailsForUserList,UserBookmarkEntityType,
|
||||
CreateUserBookmarkRequest,CreateUserBookmarkError,CreateUserBookmarkSuccessResponse,
|
||||
DeleteUserBookmarkPathInfo,DeleteUserBookmarkError,DeleteUserBookmarkRequest,
|
||||
ListUserBookmarksPathInfo,ListUserBookmarksForUserError,ListUserBookmarksForUserSuccessResponse,UserBookmarkListItem,
|
||||
|
||||
+33
-4
@@ -56,7 +56,6 @@ pub struct MediaFileInfo {
|
||||
/// Possible model info (if generated by inference)
|
||||
pub maybe_model_weight_info: Option<GetMediaFileModelInfo>,
|
||||
|
||||
|
||||
/// User info
|
||||
pub maybe_creator_user: Option<UserDetailsLight>,
|
||||
|
||||
@@ -84,10 +83,18 @@ pub struct MediaFileInfo {
|
||||
|
||||
#[derive(Serialize, ToSchema)]
|
||||
pub struct GetMediaFileModelInfo {
|
||||
pub token: ModelWeightToken,
|
||||
pub weight_token: ModelWeightToken,
|
||||
pub weight_type: WeightsType,
|
||||
pub weight_category: WeightsCategory,
|
||||
pub title: String,
|
||||
|
||||
/// Cover images are small descriptive images that can be set for any model.
|
||||
/// If a cover image is set, this is the path to the asset.
|
||||
pub maybe_cover_image_public_bucket_path: Option<String>,
|
||||
|
||||
/// NB: Technically this shouldn't be a nullable field, but since there are so many
|
||||
/// joins we'll relax that this must exist (for now).
|
||||
pub maybe_weight_creator: Option<UserDetailsLight>,
|
||||
}
|
||||
|
||||
#[derive(Debug, ToSchema)]
|
||||
@@ -220,6 +227,19 @@ async fn modern_media_file_lookup(
|
||||
.get_full_object_path_str()
|
||||
.to_string();
|
||||
|
||||
let maybe_cover_image_public_bucket_path = match result.maybe_model_cover_image_public_bucket_hash
|
||||
.as_deref()
|
||||
{
|
||||
None => None,
|
||||
Some(hash) => Some(MediaFileBucketPath::from_object_hash(
|
||||
&hash,
|
||||
result.maybe_model_cover_image_public_bucket_prefix.as_deref(),
|
||||
result.maybe_model_cover_image_public_bucket_extension.as_deref())
|
||||
.get_full_object_path_str()
|
||||
.to_string()
|
||||
)
|
||||
};
|
||||
|
||||
Ok(GetMediaFileSuccessResponse {
|
||||
success: true,
|
||||
media_file: MediaFileInfo {
|
||||
@@ -229,12 +249,19 @@ async fn modern_media_file_lookup(
|
||||
maybe_model_weight_info: match result.maybe_model_weights_token {
|
||||
None => None,
|
||||
Some(weight_token) => Some(GetMediaFileModelInfo {
|
||||
token: weight_token,
|
||||
weight_token,
|
||||
// TODO(bt,2023-12-28): Instead of giving bogus defaults on None, make these optional or return
|
||||
// None for *everything* on any field being absent.
|
||||
weight_type: result.maybe_model_weights_type.unwrap_or(WeightsType::Tacotron2),
|
||||
weight_category: result.maybe_model_weights_category.unwrap_or(WeightsCategory::TextToSpeech),
|
||||
title: result.maybe_model_weights_title.unwrap_or_else(|| "model".to_string()),
|
||||
maybe_cover_image_public_bucket_path,
|
||||
maybe_weight_creator: UserDetailsLight::from_optional_db_fields_owned(
|
||||
result.maybe_model_weight_creator_user_token,
|
||||
result.maybe_model_weight_creator_username,
|
||||
result.maybe_model_weight_creator_display_name,
|
||||
result.maybe_model_weight_creator_gravatar_hash,
|
||||
),
|
||||
})
|
||||
},
|
||||
maybe_creator_user: UserDetailsLight::from_optional_db_fields_owned(
|
||||
@@ -300,10 +327,12 @@ async fn emulate_media_file_with_legacy_tts_result_lookup(
|
||||
public_bucket_path,
|
||||
maybe_model_weight_info: Some(GetMediaFileModelInfo {
|
||||
// NB: These should be reasonable synthetic defaults for emulated TT2 results, even the "ModelWeightToken".
|
||||
token: ModelWeightToken::new_from_str(&result.tts_model_token),
|
||||
weight_token: ModelWeightToken::new_from_str(&result.tts_model_token),
|
||||
weight_type: WeightsType::Tacotron2,
|
||||
weight_category: WeightsCategory::TextToSpeech,
|
||||
title: result.tts_model_title.unwrap_or_else(|| "tacotron2 model".to_string()),
|
||||
maybe_cover_image_public_bucket_path: None,
|
||||
maybe_weight_creator: None, // NB: Not worth the trouble of synthesizing this
|
||||
}),
|
||||
maybe_creator_user: UserDetailsLight::from_optional_db_fields_owned(
|
||||
result.maybe_creator_user_token,
|
||||
|
||||
Reference in new issue
Block a user