Merge pull request #241 from storytold/brandon-rename-avatar-to-cover

rename avatar to cover_image
This commit is contained in:
Brandon Thomas authored and GitHub committed 2023-12-21 22:54:15 -05:00
commit 370bcf3f2d
41 files changed
+336 -1247

No files matched your search

@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\n UPDATE model_weights\n SET\n title = COALESCE(?, title),\n description_markdown = COALESCE(?, description_markdown),\n description_rendered_html = COALESCE(?, description_rendered_html),\n creator_set_visibility = COALESCE(?, creator_set_visibility),\n version = version + 1\n WHERE token = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 5
},
"nullable": []
},
"hash": "4aeff65c652a5db1a09d65af1c828c2a018eeb979ede924264c6d90a698bfac4"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO model_weights\nSET\n token = ?,\n weights_type = ?,\n weights_category = ?,\n title = ?,\n\n maybe_cover_image_media_file_token = NULL,\n description_markdown = NULL,\n description_rendered_html = NULL,\n\n maybe_last_update_user_token = NULL,\n original_download_url = ?,\n original_filename = ?,\n file_size_bytes = ?,\n file_checksum_sha2 = ?,\n\n creator_user_token = ?,\n creator_ip_address = ?,\n creator_set_visibility = ?,\n\n public_bucket_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n cached_user_ratings_total_count = 0,\n cached_user_ratings_positive_count = 0,\n cached_user_ratings_negative_count = 0,\n maybe_cached_user_ratings_ratio = 0.0,\n cached_user_ratings_last_updated_at = NOW(),\n\n maybe_migration_old_model_token = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 15
},
"nullable": []
},
"hash": "665bccdd71ff66e843f032cc59362fcd5dd86e51e5df300db90aa341c6eb60e1"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\n UPDATE model_weights\n SET\n title = COALESCE(?, title),\n description_markdown = COALESCE(?, description_markdown),\n maybe_thumbnail_token = COALESCE(?, maybe_thumbnail_token),\n description_rendered_html = COALESCE(?, description_rendered_html),\n creator_set_visibility = COALESCE(?, creator_set_visibility),\n version = version + 1\n WHERE token = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 6
},
"nullable": []
},
"hash": "81df77a84fee48398e8a07e053b0393a0e341caf652c18c7160dd0a59247a19a"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\n INSERT INTO model_weights\n SET\n token = ?,\n weights_type = ?,\n weights_category = ?,\n title = ?,\n description_markdown = ?,\n description_rendered_html = ?,\n creator_user_token = ?,\n creator_ip_address = ?,\n creator_set_visibility = ?,\n maybe_last_update_user_token = ?,\n original_download_url = ?,\n original_filename = ?,\n file_size_bytes = ?,\n file_checksum_sha2 = ?,\n public_bucket_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n cached_user_ratings_total_count = ?,\n cached_user_ratings_positive_count = ?,\n cached_user_ratings_negative_count = ?,\n maybe_cached_user_ratings_ratio = ?,\n version = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 22
},
"nullable": []
},
"hash": "839a90609725c9dd5d916e111c97d50fd2f6f4084024b4b706df3e8cf91753c6"
}
@@ -1,355 +0,0 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n mw.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n mw.title,\n mw.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n mw.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n mw.maybe_thumbnail_token,\n mw.description_markdown,\n mw.description_rendered_html,\n users.token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_email_gravatar_hash,\n mw.creator_ip_address,\n mw.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n mw.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n mw.original_download_url,\n mw.original_filename,\n mw.file_size_bytes,\n mw.file_checksum_sha2,\n mw.public_bucket_hash,\n mw.maybe_public_bucket_prefix,\n mw.maybe_public_bucket_extension,\n mw.cached_user_ratings_negative_count,\n mw.cached_user_ratings_positive_count,\n mw.cached_user_ratings_total_count,\n mw.maybe_cached_user_ratings_ratio,\n mw.cached_user_ratings_last_updated_at,\n mw.version,\n mw.created_at,\n mw.updated_at,\n mw.user_deleted_at,\n mw.mod_deleted_at\n FROM model_weights as mw\n JOIN users\n ON users.token = mw.creator_user_token\n WHERE\n users.username = ?\n AND mw.user_deleted_at IS NULL\n AND mw.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "title",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 2,
"name": "weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 3,
"name": "weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 4,
"name": "maybe_thumbnail_token",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 5,
"name": "description_markdown",
"type_info": {
"type": "Blob",
"flags": "NOT_NULL | BLOB | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 6,
"name": "description_rendered_html",
"type_info": {
"type": "Blob",
"flags": "NOT_NULL | BLOB | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 7,
"name": "creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 8,
"name": "creator_username",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 9,
"name": "creator_display_name",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 10,
"name": "creator_email_gravatar_hash",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 11,
"name": "creator_ip_address",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 160
}
},
{
"ordinal": 12,
"name": "creator_set_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 13,
"name": "maybe_last_update_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 14,
"name": "original_download_url",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 2048
}
},
{
"ordinal": 15,
"name": "original_filename",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 16,
"name": "file_size_bytes",
"type_info": {
"type": "Long",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 17,
"name": "file_checksum_sha2",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 18,
"name": "public_bucket_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": "cached_user_ratings_negative_count",
"type_info": {
"type": "Long",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 22,
"name": "cached_user_ratings_positive_count",
"type_info": {
"type": "Long",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 23,
"name": "cached_user_ratings_total_count",
"type_info": {
"type": "Long",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 24,
"name": "maybe_cached_user_ratings_ratio",
"type_info": {
"type": "Float",
"flags": "",
"char_set": 63,
"max_size": 12
}
},
{
"ordinal": 25,
"name": "cached_user_ratings_last_updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 26,
"name": "version",
"type_info": {
"type": "Long",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 11
}
},
{
"ordinal": 27,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 28,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 29,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
"flags": "BINARY",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 30,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
"flags": "BINARY",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
false,
false,
true,
false,
false,
false,
false,
false,
false,
false,
false,
true,
true,
true,
false,
false,
false,
true,
true,
false,
false,
false,
true,
false,
false,
false,
false,
true,
true
]
},
"hash": "854da1bad28fbcf5a8f82c26c52c25a7727957b52b727831ce62518b3c5fc9bd"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO model_weights\nSET\n token = ?,\n weights_type = ?,\n weights_category = ?,\n title = ?,\n\n maybe_thumbnail_token = NULL,\n maybe_avatar_media_file_token = NULL,\n maybe_cover_media_file_token = NULL,\n description_markdown = NULL,\n description_rendered_html = NULL,\n\n maybe_last_update_user_token = NULL,\n original_download_url = ?,\n original_filename = ?,\n file_size_bytes = ?,\n file_checksum_sha2 = ?,\n\n creator_user_token = ?,\n creator_ip_address = ?,\n creator_set_visibility = ?,\n\n public_bucket_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n cached_user_ratings_total_count = 0,\n cached_user_ratings_positive_count = 0,\n cached_user_ratings_negative_count = 0,\n maybe_cached_user_ratings_ratio = 0.0,\n cached_user_ratings_last_updated_at = NOW(),\n\n maybe_migration_old_model_token = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 15
},
"nullable": []
},
"hash": "8cb3ba5acb8dbef84408370810c98d4b99223761d4547ce7c8a9438ba92e8523"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO model_weights\nSET\n token = ?,\n weights_type = ?,\n weights_category = ?,\n title = ?,\n maybe_thumbnail_token = NULL,\n maybe_avatar_media_file_token = NULL,\n maybe_cover_media_file_token = NULL,\n description_markdown = ?,\n description_rendered_html = ?,\n creator_user_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n maybe_last_update_user_token = NULL,\n original_download_url = ?,\n original_filename = ?,\n file_size_bytes = ?,\n file_checksum_sha2 = ?,\n\n public_bucket_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n cached_user_ratings_total_count = 0,\n cached_user_ratings_positive_count = 0,\n cached_user_ratings_negative_count = 0,\n maybe_cached_user_ratings_ratio = 0.0,\n cached_user_ratings_last_updated_at = NOW(),\n\n maybe_migration_old_model_token = ?,\n version = ?,\n created_at = ?,\n updated_at = ?,\n user_deleted_at = ?,\n mod_deleted_at = ?\n\nON DUPLICATE KEY UPDATE\n weights_type = ?,\n weights_category = ?,\n title = ?,\n maybe_thumbnail_token = NULL,\n maybe_avatar_media_file_token = NULL,\n maybe_cover_media_file_token = NULL,\n description_markdown = ?,\n description_rendered_html = ?,\n creator_user_token = ?,\n creator_ip_address = ?,\n creator_set_visibility = ?,\n maybe_last_update_user_token = NULL,\n original_download_url = ?,\n original_filename = ?,\n file_size_bytes = ?,\n file_checksum_sha2 = ?,\n public_bucket_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n cached_user_ratings_total_count = 0,\n cached_user_ratings_positive_count = 0,\n cached_user_ratings_negative_count = 0,\n maybe_cached_user_ratings_ratio = 0.0,\n cached_user_ratings_last_updated_at = NOW(),\n maybe_migration_old_model_token = ?,\n version = ?,\n created_at = ?,\n updated_at = ?,\n user_deleted_at = ?,\n mod_deleted_at = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 43
},
"nullable": []
},
"hash": "aae28dc5fbeff858e4c9dd8b079752ce7892d76b56d2eff95db39c6b6d9f7f11"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_thumbnail_token,\n wt.description_markdown,\n wt.description_rendered_html,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n avatar.public_bucket_directory_hash as maybe_avatar_public_bucket_hash,\n avatar.maybe_public_bucket_prefix as maybe_avatar_public_bucket_prefix,\n avatar.maybe_public_bucket_extension as maybe_avatar_public_bucket_extension,\n\n wt.cached_user_ratings_negative_count,\n wt.cached_user_ratings_positive_count,\n wt.cached_user_ratings_total_count,\n wt.maybe_cached_user_ratings_ratio,\n wt.cached_user_ratings_last_updated_at,\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as avatar\n ON avatar.token = wt.maybe_avatar_media_file_token\n WHERE\n wt.token = ?\n ",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.description_markdown,\n wt.description_rendered_html,\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n wt.cached_user_ratings_negative_count,\n wt.cached_user_ratings_positive_count,\n wt.cached_user_ratings_total_count,\n wt.maybe_cached_user_ratings_ratio,\n wt.cached_user_ratings_last_updated_at,\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n WHERE\n wt.token = ?\n AND wt.user_deleted_at IS NULL\n AND wt.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
@@ -45,16 +45,6 @@
},
{
"ordinal": 4,
"name": "maybe_thumbnail_token",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 5,
"name": "description_markdown",
"type_info": {
"type": "Blob",
@@ -64,7 +54,7 @@
}
},
{
"ordinal": 6,
"ordinal": 5,
"name": "description_rendered_html",
"type_info": {
"type": "Blob",
@@ -74,47 +64,7 @@
}
},
{
"ordinal": 7,
"name": "creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 8,
"name": "creator_username",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 9,
"name": "creator_display_name",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 10,
"name": "creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 11,
"ordinal": 6,
"name": "creator_ip_address",
"type_info": {
"type": "VarString",
@@ -124,7 +74,7 @@
}
},
{
"ordinal": 12,
"ordinal": 7,
"name": "creator_set_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
@@ -134,7 +84,47 @@
}
},
{
"ordinal": 13,
"ordinal": 8,
"name": "creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 9,
"name": "creator_username",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 10,
"name": "creator_display_name",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 11,
"name": "creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 12,
"name": "maybe_last_update_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
@@ -144,7 +134,7 @@
}
},
{
"ordinal": 14,
"ordinal": 13,
"name": "original_download_url",
"type_info": {
"type": "VarString",
@@ -154,7 +144,7 @@
}
},
{
"ordinal": 15,
"ordinal": 14,
"name": "original_filename",
"type_info": {
"type": "VarString",
@@ -164,7 +154,7 @@
}
},
{
"ordinal": 16,
"ordinal": 15,
"name": "file_size_bytes",
"type_info": {
"type": "Long",
@@ -174,7 +164,7 @@
}
},
{
"ordinal": 17,
"ordinal": 16,
"name": "file_checksum_sha2",
"type_info": {
"type": "String",
@@ -184,7 +174,7 @@
}
},
{
"ordinal": 18,
"ordinal": 17,
"name": "public_bucket_hash",
"type_info": {
"type": "VarString",
@@ -194,7 +184,7 @@
}
},
{
"ordinal": 19,
"ordinal": 18,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -204,7 +194,7 @@
}
},
{
"ordinal": 20,
"ordinal": 19,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -214,8 +204,8 @@
}
},
{
"ordinal": 21,
"name": "maybe_avatar_public_bucket_hash",
"ordinal": 20,
"name": "maybe_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
@@ -223,9 +213,19 @@
"max_size": 128
}
},
{
"ordinal": 21,
"name": "maybe_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 22,
"name": "maybe_avatar_public_bucket_prefix",
"name": "maybe_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
@@ -235,16 +235,6 @@
},
{
"ordinal": 23,
"name": "maybe_avatar_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 24,
"name": "cached_user_ratings_negative_count",
"type_info": {
"type": "Long",
@@ -254,7 +244,7 @@
}
},
{
"ordinal": 25,
"ordinal": 24,
"name": "cached_user_ratings_positive_count",
"type_info": {
"type": "Long",
@@ -264,7 +254,7 @@
}
},
{
"ordinal": 26,
"ordinal": 25,
"name": "cached_user_ratings_total_count",
"type_info": {
"type": "Long",
@@ -274,7 +264,7 @@
}
},
{
"ordinal": 27,
"ordinal": 26,
"name": "maybe_cached_user_ratings_ratio",
"type_info": {
"type": "Float",
@@ -284,7 +274,7 @@
}
},
{
"ordinal": 28,
"ordinal": 27,
"name": "cached_user_ratings_last_updated_at",
"type_info": {
"type": "Timestamp",
@@ -294,7 +284,7 @@
}
},
{
"ordinal": 29,
"ordinal": 28,
"name": "version",
"type_info": {
"type": "Long",
@@ -304,7 +294,7 @@
}
},
{
"ordinal": 30,
"ordinal": 29,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -314,7 +304,7 @@
}
},
{
"ordinal": 31,
"ordinal": 30,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -324,7 +314,7 @@
}
},
{
"ordinal": 32,
"ordinal": 31,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -334,7 +324,7 @@
}
},
{
"ordinal": 33,
"ordinal": 32,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -352,7 +342,6 @@
false,
false,
false,
true,
false,
false,
false,
@@ -384,5 +373,5 @@
true
]
},
"hash": "4e30e34cdf7a5834a3981d5e634506966bac9f9c420e800d15ce313778272cee"
"hash": "b15b16149e6a765de1949cc77dd8b38188295df583de5214baa5e2d66782ef59"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_thumbnail_token,\n wt.description_markdown,\n wt.description_rendered_html,\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n avatar.public_bucket_directory_hash as maybe_avatar_public_bucket_hash,\n avatar.maybe_public_bucket_prefix as maybe_avatar_public_bucket_prefix,\n avatar.maybe_public_bucket_extension as maybe_avatar_public_bucket_extension,\n\n wt.cached_user_ratings_negative_count,\n wt.cached_user_ratings_positive_count,\n wt.cached_user_ratings_total_count,\n wt.maybe_cached_user_ratings_ratio,\n wt.cached_user_ratings_last_updated_at,\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as avatar\n ON avatar.token = wt.maybe_avatar_media_file_token\n WHERE\n wt.token = ?\n AND wt.user_deleted_at IS NULL\n AND wt.mod_deleted_at IS NULL\n ",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.description_markdown,\n wt.description_rendered_html,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n wt.cached_user_ratings_negative_count,\n wt.cached_user_ratings_positive_count,\n wt.cached_user_ratings_total_count,\n wt.maybe_cached_user_ratings_ratio,\n wt.cached_user_ratings_last_updated_at,\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n WHERE\n wt.token = ?\n ",
"describe": {
"columns": [
{
@@ -45,16 +45,6 @@
},
{
"ordinal": 4,
"name": "maybe_thumbnail_token",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 5,
"name": "description_markdown",
"type_info": {
"type": "Blob",
@@ -64,7 +54,7 @@
}
},
{
"ordinal": 6,
"ordinal": 5,
"name": "description_rendered_html",
"type_info": {
"type": "Blob",
@@ -74,27 +64,7 @@
}
},
{
"ordinal": 7,
"name": "creator_ip_address",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 160
}
},
{
"ordinal": 8,
"name": "creator_set_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 9,
"ordinal": 6,
"name": "creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
@@ -104,7 +74,7 @@
}
},
{
"ordinal": 10,
"ordinal": 7,
"name": "creator_username",
"type_info": {
"type": "VarString",
@@ -114,7 +84,7 @@
}
},
{
"ordinal": 11,
"ordinal": 8,
"name": "creator_display_name",
"type_info": {
"type": "VarString",
@@ -124,7 +94,7 @@
}
},
{
"ordinal": 12,
"ordinal": 9,
"name": "creator_gravatar_hash",
"type_info": {
"type": "String",
@@ -134,7 +104,27 @@
}
},
{
"ordinal": 13,
"ordinal": 10,
"name": "creator_ip_address",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 160
}
},
{
"ordinal": 11,
"name": "creator_set_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 12,
"name": "maybe_last_update_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
@@ -144,7 +134,7 @@
}
},
{
"ordinal": 14,
"ordinal": 13,
"name": "original_download_url",
"type_info": {
"type": "VarString",
@@ -154,7 +144,7 @@
}
},
{
"ordinal": 15,
"ordinal": 14,
"name": "original_filename",
"type_info": {
"type": "VarString",
@@ -164,7 +154,7 @@
}
},
{
"ordinal": 16,
"ordinal": 15,
"name": "file_size_bytes",
"type_info": {
"type": "Long",
@@ -174,7 +164,7 @@
}
},
{
"ordinal": 17,
"ordinal": 16,
"name": "file_checksum_sha2",
"type_info": {
"type": "String",
@@ -184,7 +174,7 @@
}
},
{
"ordinal": 18,
"ordinal": 17,
"name": "public_bucket_hash",
"type_info": {
"type": "VarString",
@@ -194,7 +184,7 @@
}
},
{
"ordinal": 19,
"ordinal": 18,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -204,7 +194,7 @@
}
},
{
"ordinal": 20,
"ordinal": 19,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -214,8 +204,8 @@
}
},
{
"ordinal": 21,
"name": "maybe_avatar_public_bucket_hash",
"ordinal": 20,
"name": "maybe_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
@@ -223,9 +213,19 @@
"max_size": 128
}
},
{
"ordinal": 21,
"name": "maybe_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 22,
"name": "maybe_avatar_public_bucket_prefix",
"name": "maybe_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
@@ -235,16 +235,6 @@
},
{
"ordinal": 23,
"name": "maybe_avatar_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 24,
"name": "cached_user_ratings_negative_count",
"type_info": {
"type": "Long",
@@ -254,7 +244,7 @@
}
},
{
"ordinal": 25,
"ordinal": 24,
"name": "cached_user_ratings_positive_count",
"type_info": {
"type": "Long",
@@ -264,7 +254,7 @@
}
},
{
"ordinal": 26,
"ordinal": 25,
"name": "cached_user_ratings_total_count",
"type_info": {
"type": "Long",
@@ -274,7 +264,7 @@
}
},
{
"ordinal": 27,
"ordinal": 26,
"name": "maybe_cached_user_ratings_ratio",
"type_info": {
"type": "Float",
@@ -284,7 +274,7 @@
}
},
{
"ordinal": 28,
"ordinal": 27,
"name": "cached_user_ratings_last_updated_at",
"type_info": {
"type": "Timestamp",
@@ -294,7 +284,7 @@
}
},
{
"ordinal": 29,
"ordinal": 28,
"name": "version",
"type_info": {
"type": "Long",
@@ -304,7 +294,7 @@
}
},
{
"ordinal": 30,
"ordinal": 29,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -314,7 +304,7 @@
}
},
{
"ordinal": 31,
"ordinal": 30,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -324,7 +314,7 @@
}
},
{
"ordinal": 32,
"ordinal": 31,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -334,7 +324,7 @@
}
},
{
"ordinal": 33,
"ordinal": 32,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -352,7 +342,6 @@
false,
false,
false,
true,
false,
false,
false,
@@ -384,5 +373,5 @@
true
]
},
"hash": "93084dc42ae4ada186dc90bdd470122342586f4f19a3ac961286c1c54a5c32b2"
"hash": "c26943bde6d2364f0f1594dfbf4fa40c8f94706f1cc413aea6bf213df5d533d5"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\n INSERT INTO model_weights\n SET\n token = ?,\n weights_type = ?,\n weights_category = ?,\n title = ?,\n maybe_thumbnail_token = ?,\n description_markdown = ?,\n description_rendered_html = ?,\n creator_user_token = ?,\n creator_ip_address = ?,\n creator_set_visibility = ?,\n maybe_last_update_user_token = ?,\n original_download_url = ?,\n original_filename = ?,\n file_size_bytes = ?,\n file_checksum_sha2 = ?,\n public_bucket_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n cached_user_ratings_total_count = ?,\n cached_user_ratings_positive_count = ?,\n cached_user_ratings_negative_count = ?,\n maybe_cached_user_ratings_ratio = ?,\n version = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 23
},
"nullable": []
},
"hash": "cb07f1522d0d619e2f364af78250080c99e7930ec095c5600abb80a9d8c5154d"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\n UPDATE model_weights\n SET\n maybe_avatar_media_file_token = ?\n WHERE token = ?\n LIMIT 1\n ",
"query": "\n UPDATE model_weights\n SET\n maybe_cover_image_media_file_token = ?\n WHERE token = ?\n LIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
@@ -8,5 +8,5 @@
},
"nullable": []
},
"hash": "bda002b24b98328f0fb0440cfc82a47faf01e5d16d1030e15a7e2da161dd0d80"
"hash": "d7b28a5b4f0220b02eacb01df030c4d971fd191cf3cb5f0211ce29604d36bca3"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO model_weights\nSET\n token = ?,\n weights_type = ?,\n weights_category = ?,\n title = ?,\n maybe_cover_image_media_file_token = NULL,\n description_markdown = ?,\n description_rendered_html = ?,\n creator_user_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n maybe_last_update_user_token = NULL,\n original_download_url = ?,\n original_filename = ?,\n file_size_bytes = ?,\n file_checksum_sha2 = ?,\n\n public_bucket_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n cached_user_ratings_total_count = 0,\n cached_user_ratings_positive_count = 0,\n cached_user_ratings_negative_count = 0,\n maybe_cached_user_ratings_ratio = 0.0,\n cached_user_ratings_last_updated_at = NOW(),\n\n maybe_migration_old_model_token = ?,\n version = ?,\n created_at = ?,\n updated_at = ?,\n user_deleted_at = ?,\n mod_deleted_at = ?\n\nON DUPLICATE KEY UPDATE\n weights_type = ?,\n weights_category = ?,\n title = ?,\n maybe_cover_image_media_file_token = NULL,\n description_markdown = ?,\n description_rendered_html = ?,\n creator_user_token = ?,\n creator_ip_address = ?,\n creator_set_visibility = ?,\n maybe_last_update_user_token = NULL,\n original_download_url = ?,\n original_filename = ?,\n file_size_bytes = ?,\n file_checksum_sha2 = ?,\n public_bucket_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n cached_user_ratings_total_count = 0,\n cached_user_ratings_positive_count = 0,\n cached_user_ratings_negative_count = 0,\n maybe_cached_user_ratings_ratio = 0.0,\n cached_user_ratings_last_updated_at = NOW(),\n maybe_migration_old_model_token = ?,\n version = ?,\n created_at = ?,\n updated_at = ?,\n user_deleted_at = ?,\n mod_deleted_at = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 43
},
"nullable": []
},
"hash": "ec1a3b0dfea8dfded94efac1b90fe3ebd0345e5b49fddbbe126cca7569698629"
}
@@ -1,355 +0,0 @@
{
"db_name": "MySQL",
"query": "\n SELECT \n mw.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n mw.title,\n mw.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n mw.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n mw.maybe_thumbnail_token,\n mw.description_markdown,\n mw.description_rendered_html,\n users.token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_email_gravatar_hash,\n mw.creator_ip_address,\n mw.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n mw.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n mw.original_download_url,\n mw.original_filename,\n mw.file_size_bytes,\n mw.file_checksum_sha2,\n mw.public_bucket_hash,\n mw.maybe_public_bucket_prefix,\n mw.maybe_public_bucket_extension,\n mw.cached_user_ratings_negative_count,\n mw.cached_user_ratings_positive_count,\n mw.cached_user_ratings_total_count,\n mw.maybe_cached_user_ratings_ratio,\n mw.cached_user_ratings_last_updated_at,\n mw.version,\n mw.created_at,\n mw.updated_at,\n mw.user_deleted_at,\n mw.mod_deleted_at\n FROM model_weights as mw\n JOIN users\n ON users.token = mw.creator_user_token\n WHERE\n users.username = ?\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "title",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 2,
"name": "weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 3,
"name": "weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 4,
"name": "maybe_thumbnail_token",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 5,
"name": "description_markdown",
"type_info": {
"type": "Blob",
"flags": "NOT_NULL | BLOB | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 6,
"name": "description_rendered_html",
"type_info": {
"type": "Blob",
"flags": "NOT_NULL | BLOB | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 7,
"name": "creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 8,
"name": "creator_username",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 9,
"name": "creator_display_name",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 10,
"name": "creator_email_gravatar_hash",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 11,
"name": "creator_ip_address",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 160
}
},
{
"ordinal": 12,
"name": "creator_set_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 13,
"name": "maybe_last_update_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 14,
"name": "original_download_url",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 2048
}
},
{
"ordinal": 15,
"name": "original_filename",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 16,
"name": "file_size_bytes",
"type_info": {
"type": "Long",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 17,
"name": "file_checksum_sha2",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 18,
"name": "public_bucket_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": "cached_user_ratings_negative_count",
"type_info": {
"type": "Long",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 22,
"name": "cached_user_ratings_positive_count",
"type_info": {
"type": "Long",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 23,
"name": "cached_user_ratings_total_count",
"type_info": {
"type": "Long",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 24,
"name": "maybe_cached_user_ratings_ratio",
"type_info": {
"type": "Float",
"flags": "",
"char_set": 63,
"max_size": 12
}
},
{
"ordinal": 25,
"name": "cached_user_ratings_last_updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 26,
"name": "version",
"type_info": {
"type": "Long",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 11
}
},
{
"ordinal": 27,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 28,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 29,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
"flags": "BINARY",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 30,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
"flags": "BINARY",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
false,
false,
true,
false,
false,
false,
false,
false,
false,
false,
false,
true,
true,
true,
false,
false,
false,
true,
true,
false,
false,
false,
true,
false,
false,
false,
false,
true,
true
]
},
"hash": "ec733ae6705dc03fb785e2299c35fcfef23422142735319c8cd091ca8179f97d"
}
@@ -0,0 +1,6 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE model_weights
RENAME COLUMN maybe_cover_image_media_file_token TO maybe_cover_media_file_token;
@@ -0,0 +1,6 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE model_weights
RENAME COLUMN maybe_cover_media_file_token TO maybe_cover_image_media_file_token;
@@ -0,0 +1,13 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
ALTER TABLE model_weights
ADD COLUMN maybe_thumbnail_token VARCHAR(32) DEFAULT NULL
AFTER title;
ALTER TABLE model_weights
ADD COLUMN maybe_avatar_media_file_token VARCHAR(32) DEFAULT NULL
AFTER maybe_thumbnail_token;
CREATE INDEX fk_maybe_avatar_media_file_token ON model_weights (maybe_avatar_media_file_token);
@@ -0,0 +1,7 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Drop column
ALTER TABLE model_weights DROP COLUMN maybe_thumbnail_token;
ALTER TABLE model_weights DROP COLUMN maybe_avatar_media_file_token;
@@ -39,17 +39,9 @@ CREATE TABLE model_weights (
-- The "name" of the model, which might be complicated.
title VARCHAR(255) NOT NULL,
-- TODO(bt, 2023-12-14): Delete the `maybe_thumbnail_token` column later.
-- We're using other columns instead.
maybe_thumbnail_token VARCHAR(32) DEFAULT NULL,
-- The "avatar" image is a media file of type image that serves as a
-- small avatar or profile picture icon.
maybe_avatar_media_file_token VARCHAR(32) DEFAULT NULL,
-- The "cover" image is a media file of type image that covers the
-- top of the page.
maybe_cover_media_file_token VARCHAR(32) DEFAULT NULL,
-- The "cover" image is a media file of type image that severs as a small
-- example of the model. Like album art or a user profile picture / avatar.
maybe_cover_image_media_file_token VARCHAR(32) DEFAULT NULL,
-- The description of the model in markdown.
description_markdown TEXT NOT NULL,
@@ -194,7 +186,6 @@ CREATE TABLE model_weights (
KEY index_weights_category (weights_category),
KEY fk_creator_user_token (creator_user_token),
KEY index_creator_set_visibility (creator_set_visibility),
KEY fk_maybe_avatar_media_file_token (maybe_avatar_media_file_token),
KEY fk_maybe_cover_media_file_token (maybe_cover_media_file_token)
KEY fk_maybe_cover_media_file_token (maybe_cover_image_media_file_token)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
@@ -111,8 +111,7 @@ pub async fn seed_weights_for_paging(mysql_pool: &Pool<MySql>, user_token: UserT
let mut description_rendered_html;
let mut original_filename;
let mut original_download_url;
let mut thumbnail_token;
let mut private_bucket_hash:String = "".to_string();
let mut private_bucket_prefix;
let mut private_bucket_extension;
@@ -140,9 +139,6 @@ pub async fn seed_weights_for_paging(mysql_pool: &Pool<MySql>, user_token: UserT
original_filename = format!("gura_gwar{}.safetensors", i);
original_download_url = format!("www.google.ca");
// NOTE TO SELF this will be a join for later on for now they can use this.
thumbnail_token = "";
// private_bucket_hash = format!("bucket_hash{}", i);
private_bucket_prefix = format!("_fake");
private_bucket_extension = format!("rvcV2");
@@ -171,9 +167,6 @@ pub async fn seed_weights_for_paging(mysql_pool: &Pool<MySql>, user_token: UserT
original_filename = format!("filename{}.txt", i);
original_download_url = format!("https://civitai.com/api/download/models/149193?type=Model&format=SafeTensor&size=pruned&fp=fp16");
// NOTE TO SELF this will be a join for later on for now they can use this.
thumbnail_token = "";
// private_bucket_hash = format!("bucket_hash{}", i);
private_bucket_prefix = format!("_fake");
private_bucket_extension = format!("tt2");
@@ -197,9 +190,6 @@ pub async fn seed_weights_for_paging(mysql_pool: &Pool<MySql>, user_token: UserT
original_filename = format!("filename{}.txt", i);
original_download_url = format!("https://civitai.com/api/download/models/149193?type=Model&format=SafeTensor&size=pruned&fp=fp16");
// NOTE TO SELF this will be a join for later on for now they can use this.
thumbnail_token = ""; //sd1_5_image_token;
// private_bucket_hash = format!("bucket_hash{}", i);
private_bucket_prefix = format!("_fake");
private_bucket_extension = format!("sd15");
@@ -245,9 +235,6 @@ pub async fn seed_weights_for_paging(mysql_pool: &Pool<MySql>, user_token: UserT
original_filename = format!("filename{}.txt", i);
original_download_url = format!("https://civitai.com/api/download/models/149193?type=Model&format=SafeTensor&size=pruned&fp=fp16");
// NOTE TO SELF this will be a join for later on for now they can use this.
thumbnail_token = "";
cached_user_ratings_total_count = i;
cached_user_ratings_positive_count = i;
cached_user_ratings_negative_count = i;
@@ -273,9 +260,6 @@ pub async fn seed_weights_for_paging(mysql_pool: &Pool<MySql>, user_token: UserT
original_filename = format!("filename{}.txt", i);
original_download_url = format!("https://civitai.com/api/download/models/149193?type=Model&format=SafeTensor&size=pruned&fp=fp16");
// NOTE TO SELF this will be a join for later on for now they can use this.
thumbnail_token = ""; // lora_image_token;
// private_bucket_hash = format!("bucket_hash{}", i);
private_bucket_prefix = format!("_fake");
private_bucket_extension = format!("loRA");
@@ -303,9 +287,6 @@ pub async fn seed_weights_for_paging(mysql_pool: &Pool<MySql>, user_token: UserT
original_filename = format!("gura_gwar{}.safetensors", i);
original_download_url = format!("www.google.ca");
// NOTE TO SELF this will be a join for later on for now they can use this.
thumbnail_token = "";
// private_bucket_hash = format!("bucket_hash{}", i);
private_bucket_prefix = format!("_fake");
private_bucket_extension = format!("rvcV2");
@@ -324,7 +305,6 @@ pub async fn seed_weights_for_paging(mysql_pool: &Pool<MySql>, user_token: UserT
weights_type: weights_types, // replace with actual WeightsType
weights_category, // replace with actual WeightsCategory
title,
maybe_thumbnail_token: Some(thumbnail_token.to_string()),
description_markdown: description,
description_rendered_html: description_rendered_html.to_string(),
creator_user_token: Some(&user_token), // replace with actual UserToken
@@ -370,7 +350,6 @@ pub async fn seed_weights_for_user_token(
weights_type: WeightsType::RvcV2, // replace with actual WeightsType
weights_category: WeightsCategory::VoiceConversion, // replace with actual WeightsCategory
title: "Title 1".to_string(),
maybe_thumbnail_token: Some("Thumbnail 1".to_string()),
description_markdown: "Description 1".to_string(),
description_rendered_html: "<p>Description 1</p>".to_string(),
creator_user_token: Some(&user_token), // replace with actual UserToken
@@ -396,7 +375,6 @@ pub async fn seed_weights_for_user_token(
weights_type: WeightsType::HifiganTacotron2, // replace with actual WeightsType
weights_category: WeightsCategory::TextToSpeech, // replace with actual WeightsCategory
title: "Title 2".to_string(),
maybe_thumbnail_token: Some("Thumbnail 2".to_string()),
description_markdown: "Description 2".to_string(),
description_rendered_html: "<p>Description 2</p>".to_string(),
creator_user_token: Some(&user_token), // replace with actual UserToken
@@ -422,7 +400,6 @@ pub async fn seed_weights_for_user_token(
weights_type: WeightsType::StableDiffusion15, // replace with actual WeightsType
weights_category: WeightsCategory::ImageGeneration, // replace with actual WeightsCategory
title: "Title 3".to_string(),
maybe_thumbnail_token: Some("Thumbnail 3".to_string()),
description_markdown: "Description 3".to_string(),
description_rendered_html: "<p>Description 3</p>".to_string(),
creator_user_token: Some(&user_token), // replace with actual UserToken
@@ -448,7 +425,6 @@ pub async fn seed_weights_for_user_token(
weights_type: WeightsType::LoRA, // replace with actual WeightsType
weights_category: WeightsCategory::ImageGeneration, // replace with actual WeightsCategory
title: "Title 4".to_string(),
maybe_thumbnail_token: Some("Thumbnail 4".to_string()),
description_markdown: "Description 4".to_string(),
description_rendered_html: "<p>Description 4</p>".to_string(),
creator_user_token: Some(&user_token), // replace with actual UserToken
@@ -474,7 +450,6 @@ pub async fn seed_weights_for_user_token(
weights_type: WeightsType::LoRA, // replace with actual WeightsType
weights_category: WeightsCategory::ImageGeneration, // replace with actual WeightsCategory
title: "Title 5".to_string(),
maybe_thumbnail_token: Some("Thumbnail 4".to_string()),
description_markdown: "Description 4".to_string(),
description_rendered_html: "<p>Description 4</p>".to_string(),
creator_user_token: Some(&user_token), // replace with actual UserToken
@@ -526,7 +501,6 @@ pub async fn original_seed_weights(mysql_pool: &Pool<MySql>,user_token: UserToke
weights_type: WeightsType::RvcV2, // replace with actual WeightsType
weights_category: WeightsCategory::VoiceConversion, // replace with actual WeightsCategory
title: "Title 1".to_string(),
maybe_thumbnail_token: Some("Thumbnail 1".to_string()),
description_markdown: "Description 1".to_string(),
description_rendered_html: "<p>Description 1</p>".to_string(),
creator_user_token: Some(&creator_token1), // replace with actual UserToken
@@ -552,7 +526,6 @@ pub async fn original_seed_weights(mysql_pool: &Pool<MySql>,user_token: UserToke
weights_type: WeightsType::HifiganTacotron2, // replace with actual WeightsType
weights_category: WeightsCategory::TextToSpeech, // replace with actual WeightsCategory
title: "Title 2".to_string(),
maybe_thumbnail_token: Some("Thumbnail 2".to_string()),
description_markdown: "Description 2".to_string(),
description_rendered_html: "<p>Description 2</p>".to_string(),
creator_user_token: Some(&creator_token2), // replace with actual UserToken
@@ -578,7 +551,6 @@ pub async fn original_seed_weights(mysql_pool: &Pool<MySql>,user_token: UserToke
weights_type: WeightsType::StableDiffusion15, // replace with actual WeightsType
weights_category: WeightsCategory::ImageGeneration, // replace with actual WeightsCategory
title: "Title 3".to_string(),
maybe_thumbnail_token: Some("Thumbnail 3".to_string()),
description_markdown: "Description 3".to_string(),
description_rendered_html: "<p>Description 3</p>".to_string(),
creator_user_token: Some(&creator_token3), // replace with actual UserToken
@@ -604,7 +576,6 @@ pub async fn original_seed_weights(mysql_pool: &Pool<MySql>,user_token: UserToke
weights_type: WeightsType::LoRA, // replace with actual WeightsType
weights_category: WeightsCategory::ImageGeneration, // replace with actual WeightsCategory
title: "Title 4".to_string(),
maybe_thumbnail_token: Some("Thumbnail 4".to_string()),
description_markdown: "Description 4".to_string(),
description_rendered_html: "<p>Description 4</p>".to_string(),
creator_user_token: Some(&creator_token4), // replace with actual UserToken
@@ -630,7 +601,6 @@ pub async fn original_seed_weights(mysql_pool: &Pool<MySql>,user_token: UserToke
weights_type: WeightsType::LoRA, // replace with actual WeightsType
weights_category: WeightsCategory::ImageGeneration, // replace with actual WeightsCategory
title: "Title 5".to_string(),
maybe_thumbnail_token: Some("Thumbnail 5".to_string()),
description_markdown: "Description 5".to_string(),
description_rendered_html: "<p>Description 5</p>".to_string(),
creator_user_token: Some(&creator_token5), // replace with actual UserToken
@@ -92,7 +92,6 @@ pub async fn seed_weights_files(
let description_rendered_html = "This is a description rendered html";
let original_filename = "model.safetensors";
let original_download_url = "https://example.com/model.safetensors";
let thumbnail_token = format!("{}", n);
// let public_bucket_hash: String = weights_file_token.to_string();
// let public_bucket_prefix = weights_type.to_string();
@@ -130,7 +129,6 @@ pub async fn seed_weights_files(
weights_type, // Assuming weights_type is defined elsewhere
weights_category, // Assuming weights_category is defined elsewhere
title: title.to_string(),
maybe_thumbnail_token: Some(thumbnail_token),
description_markdown: description.to_string(),
description_rendered_html: description_rendered_html.to_string(),
creator_user_token: Some(&user_token),
@@ -63,9 +63,7 @@ SET
weights_category = ?,
title = ?,
maybe_thumbnail_token = NULL,
maybe_avatar_media_file_token = NULL,
maybe_cover_media_file_token = NULL,
maybe_cover_image_media_file_token = NULL,
description_markdown = NULL,
description_rendered_html = NULL,
@@ -13,7 +13,6 @@ pub struct CreateModelWeightsArgs<'a> {
pub weights_type: WeightsType,
pub weights_category: WeightsCategory,
pub title: String,
pub maybe_thumbnail_token: Option<String>,
pub description_markdown: String,
pub description_rendered_html: String,
pub creator_user_token: Option<&'a UserToken>,
@@ -47,7 +46,6 @@ pub async fn create_weight(args: CreateModelWeightsArgs<'_>) -> AnyhowResult<Mod
weights_type = ?,
weights_category = ?,
title = ?,
maybe_thumbnail_token = ?,
description_markdown = ?,
description_rendered_html = ?,
creator_user_token = ?,
@@ -71,7 +69,6 @@ pub async fn create_weight(args: CreateModelWeightsArgs<'_>) -> AnyhowResult<Mod
args.weights_type.to_str(),
args.weights_category.to_str(),
args.title,
args.maybe_thumbnail_token,
args.description_markdown,
args.description_rendered_html,
args.creator_user_token.as_deref(),
@@ -1,2 +1,2 @@
pub mod set_model_weight_avatar;
pub mod set_model_weight_cover_image;
pub mod update_weight;
@@ -6,23 +6,23 @@ use tokens::tokens::model_weights::ModelWeightToken;
pub struct UpdateArgs<'a> {
pub model_weight_token: &'a ModelWeightToken,
pub maybe_avatar_media_file_token: Option<&'a MediaFileToken>,
pub maybe_cover_image_media_file_token: Option<&'a MediaFileToken>,
//pub update_ip_address: &'a str,
pub mysql_pool: &'a MySqlPool
}
pub async fn set_model_weight_avatar(args: UpdateArgs<'_>) -> AnyhowResult<()>{
pub async fn set_model_weight_cover_image(args: UpdateArgs<'_>) -> AnyhowResult<()>{
let transaction = args.mysql_pool.begin().await?;
let query_result = sqlx::query!(
r#"
UPDATE model_weights
SET
maybe_avatar_media_file_token = ?
maybe_cover_image_media_file_token = ?
WHERE token = ?
LIMIT 1
"#,
args.maybe_avatar_media_file_token,
args.maybe_cover_image_media_file_token,
args.model_weight_token,
).execute(args.mysql_pool).await;
@@ -8,7 +8,6 @@ use tokens::tokens::model_weights::ModelWeightToken;
pub struct UpdateWeightArgs<'a> {
pub weight_token: &'a ModelWeightToken,
pub title: Option<&'a str>,
pub maybe_thumbnail_token: Option<&'a str>,
pub description_markdown: Option<&'a str>,
pub description_rendered_html: Option<&'a str>,
pub creator_set_visibility: Option<&'a Visibility>,
@@ -27,7 +26,6 @@ pub async fn update_weights(args: UpdateWeightArgs<'_>) -> AnyhowResult<()> {
SET
title = COALESCE(?, title),
description_markdown = COALESCE(?, description_markdown),
maybe_thumbnail_token = COALESCE(?, maybe_thumbnail_token),
description_rendered_html = COALESCE(?, description_rendered_html),
creator_set_visibility = COALESCE(?, creator_set_visibility),
version = version + 1
@@ -35,7 +33,6 @@ pub async fn update_weights(args: UpdateWeightArgs<'_>) -> AnyhowResult<()> {
"#,
args.title.as_deref(),
args.description_markdown.as_deref(),
args.maybe_thumbnail_token.as_deref(),
args.description_rendered_html.as_deref(),
args.creator_set_visibility.as_deref(),
args.weight_token.as_str()
@@ -19,7 +19,6 @@ pub struct RetrivedModelWeight {
pub title: String,
pub weights_type: WeightsType,
pub weights_category: WeightsCategory,
pub maybe_thumbnail_token: Option<String>,
pub description_markdown: String,
pub description_rendered_html: String,
@@ -40,9 +39,9 @@ pub struct RetrivedModelWeight {
pub maybe_public_bucket_prefix: Option<String>,
pub maybe_public_bucket_extension: Option<String>,
pub maybe_avatar_public_bucket_hash: Option<String>,
pub maybe_avatar_public_bucket_prefix: Option<String>,
pub maybe_avatar_public_bucket_extension: Option<String>,
pub maybe_cover_image_public_bucket_hash: Option<String>,
pub maybe_cover_image_public_bucket_prefix: Option<String>,
pub maybe_cover_image_public_bucket_extension: Option<String>,
pub cached_user_ratings_negative_count: u32,
pub cached_user_ratings_positive_count: u32,
@@ -95,7 +94,6 @@ pub async fn get_weights_by_token_with_connection(
title: record.title,
weights_type: record.weights_type,
weights_category: record.weights_category,
maybe_thumbnail_token: record.maybe_thumbnail_token,
description_markdown: record.description_markdown,
description_rendered_html: record.description_rendered_html,
creator_user_token: record.creator_user_token,
@@ -112,9 +110,9 @@ pub async fn get_weights_by_token_with_connection(
public_bucket_hash: record.public_bucket_hash,
maybe_public_bucket_prefix: record.maybe_public_bucket_prefix,
maybe_public_bucket_extension: record.maybe_public_bucket_extension,
maybe_avatar_public_bucket_hash: record.maybe_avatar_public_bucket_hash,
maybe_avatar_public_bucket_prefix: record.maybe_avatar_public_bucket_prefix,
maybe_avatar_public_bucket_extension: record.maybe_avatar_public_bucket_extension,
maybe_cover_image_public_bucket_hash: record.maybe_cover_image_public_bucket_hash,
maybe_cover_image_public_bucket_prefix: record.maybe_cover_image_public_bucket_prefix,
maybe_cover_image_public_bucket_extension: record.maybe_cover_image_public_bucket_extension,
cached_user_ratings_negative_count: record.cached_user_ratings_negative_count,
cached_user_ratings_positive_count: record.cached_user_ratings_positive_count,
cached_user_ratings_total_count: record.cached_user_ratings_total_count,
@@ -142,7 +140,6 @@ async fn select_include_deleted(
wt.title,
wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,
wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,
wt.maybe_thumbnail_token,
wt.description_markdown,
wt.description_rendered_html,
@@ -163,9 +160,9 @@ async fn select_include_deleted(
wt.maybe_public_bucket_prefix,
wt.maybe_public_bucket_extension,
avatar.public_bucket_directory_hash as maybe_avatar_public_bucket_hash,
avatar.maybe_public_bucket_prefix as maybe_avatar_public_bucket_prefix,
avatar.maybe_public_bucket_extension as maybe_avatar_public_bucket_extension,
cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,
cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,
cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,
wt.cached_user_ratings_negative_count,
wt.cached_user_ratings_positive_count,
@@ -180,8 +177,8 @@ async fn select_include_deleted(
FROM model_weights as wt
JOIN users
ON users.token = wt.creator_user_token
LEFT OUTER JOIN media_files as avatar
ON avatar.token = wt.maybe_avatar_media_file_token
LEFT OUTER JOIN media_files as cover_image
ON cover_image.token = wt.maybe_cover_image_media_file_token
WHERE
wt.token = ?
"#,
@@ -205,7 +202,6 @@ async fn select_without_deleted(
wt.title,
wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,
wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,
wt.maybe_thumbnail_token,
wt.description_markdown,
wt.description_rendered_html,
wt.creator_ip_address,
@@ -225,9 +221,9 @@ async fn select_without_deleted(
wt.maybe_public_bucket_prefix,
wt.maybe_public_bucket_extension,
avatar.public_bucket_directory_hash as maybe_avatar_public_bucket_hash,
avatar.maybe_public_bucket_prefix as maybe_avatar_public_bucket_prefix,
avatar.maybe_public_bucket_extension as maybe_avatar_public_bucket_extension,
cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,
cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,
cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,
wt.cached_user_ratings_negative_count,
wt.cached_user_ratings_positive_count,
@@ -242,8 +238,8 @@ async fn select_without_deleted(
FROM model_weights as wt
JOIN users
ON users.token = wt.creator_user_token
LEFT OUTER JOIN media_files as avatar
ON avatar.token = wt.maybe_avatar_media_file_token
LEFT OUTER JOIN media_files as cover_image
ON cover_image.token = wt.maybe_cover_image_media_file_token
WHERE
wt.token = ?
AND wt.user_deleted_at IS NULL
@@ -261,7 +257,6 @@ pub struct RawWeight {
pub title: String,
pub weights_type: WeightsType,
pub weights_category: WeightsCategory,
pub maybe_thumbnail_token: Option<String>,
pub description_markdown: String,
pub description_rendered_html: String,
@@ -281,9 +276,9 @@ pub struct RawWeight {
pub maybe_public_bucket_prefix: Option<String>,
pub maybe_public_bucket_extension: Option<String>,
pub maybe_avatar_public_bucket_hash: Option<String>,
pub maybe_avatar_public_bucket_prefix: Option<String>,
pub maybe_avatar_public_bucket_extension: Option<String>,
pub maybe_cover_image_public_bucket_hash: Option<String>,
pub maybe_cover_image_public_bucket_prefix: Option<String>,
pub maybe_cover_image_public_bucket_extension: Option<String>,
pub cached_user_ratings_negative_count: u32,
pub cached_user_ratings_positive_count: u32,
@@ -20,8 +20,6 @@ pub struct WeightsByTokensRecord {
pub title: String,
pub maybe_thumbnail_token: Option<String>,
pub creator_user_token: UserToken,
pub creator_username: String,
pub creator_display_name: String,
@@ -31,9 +29,9 @@ pub struct WeightsByTokensRecord {
pub maybe_public_bucket_prefix: Option<String>,
pub maybe_public_bucket_extension: Option<String>,
pub maybe_avatar_public_bucket_hash: Option<String>,
pub maybe_avatar_public_bucket_prefix: Option<String>,
pub maybe_avatar_public_bucket_extension: Option<String>,
pub maybe_cover_image_public_bucket_hash: Option<String>,
pub maybe_cover_image_public_bucket_prefix: Option<String>,
pub maybe_cover_image_public_bucket_extension: Option<String>,
pub cached_user_ratings_total_count: u32,
pub cached_user_ratings_positive_count: u32,
@@ -75,7 +73,6 @@ async fn get_raw_weights_by_tokens(
mw.title,
mw.weights_type,
mw.weights_category,
mw.maybe_thumbnail_token,
users.token as creator_user_token,
users.username as creator_username,
users.display_name as creator_display_name,
@@ -83,9 +80,9 @@ async fn get_raw_weights_by_tokens(
mw.public_bucket_hash,
mw.maybe_public_bucket_prefix,
mw.maybe_public_bucket_extension,
avatar.public_bucket_directory_hash as maybe_avatar_public_bucket_hash,
avatar.maybe_public_bucket_prefix as maybe_avatar_public_bucket_prefix,
avatar.maybe_public_bucket_extension as maybe_avatar_public_bucket_extension,
cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,
cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,
cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,
mw.cached_user_ratings_negative_count,
mw.cached_user_ratings_positive_count,
mw.cached_user_ratings_total_count,
@@ -98,8 +95,8 @@ async fn get_raw_weights_by_tokens(
FROM model_weights as mw
JOIN users
ON users.token = mw.creator_user_token
LEFT OUTER JOIN media_files as avatar
ON avatar.token = mw.maybe_avatar_media_file_token
LEFT OUTER JOIN media_files as cover_image
ON cover_image.token = mw.maybe_cover_image_media_file_token
WHERE
mw.creator_set_visibility = "public"
AND mw.token IN (
@@ -113,7 +110,6 @@ async fn get_raw_weights_by_tokens(
mw.title,
mw.weights_type,
mw.weights_category,
mw.maybe_thumbnail_token,
users.token as creator_user_token,
users.username as creator_username,
users.display_name as creator_display_name,
@@ -121,9 +117,9 @@ async fn get_raw_weights_by_tokens(
mw.public_bucket_hash,
mw.maybe_public_bucket_prefix,
mw.maybe_public_bucket_extension,
avatar.public_bucket_directory_hash as maybe_avatar_public_bucket_hash,
avatar.maybe_public_bucket_prefix as maybe_avatar_public_bucket_prefix,
avatar.maybe_public_bucket_extension as maybe_avatar_public_bucket_extension,
cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,
cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,
cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,
mw.cached_user_ratings_negative_count,
mw.cached_user_ratings_positive_count,
mw.cached_user_ratings_total_count,
@@ -136,8 +132,8 @@ async fn get_raw_weights_by_tokens(
FROM model_weights as mw
JOIN users
ON users.token = mw.creator_user_token
LEFT OUTER JOIN media_files as avatar
ON avatar.token = mw.maybe_avatar_media_file_token
LEFT OUTER JOIN media_files as cover_image
ON cover_image.token = mw.maybe_cover_image_media_file_token
WHERE
mw.creator_set_visibility = "public"
AND mw.user_deleted_at IS NULL
@@ -177,7 +173,6 @@ fn map_to_weights(dataset:Vec<RawWeightJoinUser>) -> Vec<WeightsByTokensRecord>
title: weight.title,
weights_type: weight.weights_type,
weights_category: weight.weights_category,
maybe_thumbnail_token: weight.maybe_thumbnail_token,
creator_user_token: weight.creator_user_token,
creator_username: weight.creator_username,
@@ -188,9 +183,9 @@ fn map_to_weights(dataset:Vec<RawWeightJoinUser>) -> Vec<WeightsByTokensRecord>
maybe_public_bucket_prefix: weight.maybe_public_bucket_prefix,
maybe_public_bucket_extension: weight.maybe_public_bucket_extension,
maybe_avatar_public_bucket_hash: weight.maybe_avatar_public_bucket_hash,
maybe_avatar_public_bucket_prefix: weight.maybe_avatar_public_bucket_prefix,
maybe_avatar_public_bucket_extension: weight.maybe_avatar_public_bucket_extension,
maybe_cover_image_public_bucket_hash: weight.maybe_cover_image_public_bucket_hash,
maybe_cover_image_public_bucket_prefix: weight.maybe_cover_image_public_bucket_prefix,
maybe_cover_image_public_bucket_extension: weight.maybe_cover_image_public_bucket_extension,
cached_user_ratings_negative_count: weight.cached_user_ratings_negative_count,
cached_user_ratings_positive_count: weight.cached_user_ratings_positive_count,
@@ -218,8 +213,6 @@ fn map_to_weights(dataset:Vec<RawWeightJoinUser>) -> Vec<WeightsByTokensRecord>
pub title: String,
pub maybe_thumbnail_token: Option<String>,
pub creator_user_token: UserToken,
pub creator_username: String,
pub creator_display_name: String,
@@ -229,9 +222,9 @@ fn map_to_weights(dataset:Vec<RawWeightJoinUser>) -> Vec<WeightsByTokensRecord>
pub maybe_public_bucket_prefix: Option<String>,
pub maybe_public_bucket_extension: Option<String>,
pub maybe_avatar_public_bucket_hash: Option<String>,
pub maybe_avatar_public_bucket_prefix: Option<String>,
pub maybe_avatar_public_bucket_extension: Option<String>,
pub maybe_cover_image_public_bucket_hash: Option<String>,
pub maybe_cover_image_public_bucket_prefix: Option<String>,
pub maybe_cover_image_public_bucket_extension: Option<String>,
pub cached_user_ratings_total_count: u32,
pub cached_user_ratings_positive_count: u32,
@@ -264,7 +257,6 @@ impl FromRow<'_, MySqlRow> for RawWeightJoinUser {
weights_type: WeightsType::try_from_mysql_row(row, "weights_type")?,
weights_category: WeightsCategory::try_from_mysql_row(row, "weights_category")?,
title: row.try_get("title")?,
maybe_thumbnail_token: row.try_get("maybe_thumbnail_token")?,
creator_user_token: UserToken::new_from_str(row.try_get("creator_user_token")?),
creator_username: row.try_get("creator_username")?,
creator_display_name: row.try_get("creator_display_name")?,
@@ -272,9 +264,9 @@ impl FromRow<'_, MySqlRow> for RawWeightJoinUser {
public_bucket_hash: row.try_get("public_bucket_hash")?,
maybe_public_bucket_prefix: row.try_get("maybe_public_bucket_prefix")?,
maybe_public_bucket_extension: row.try_get("maybe_public_bucket_extension")?,
maybe_avatar_public_bucket_hash: row.try_get("maybe_avatar_public_bucket_hash")?,
maybe_avatar_public_bucket_prefix: row.try_get("maybe_avatar_public_bucket_prefix")?,
maybe_avatar_public_bucket_extension: row.try_get("maybe_avatar_public_bucket_extension")?,
maybe_cover_image_public_bucket_hash: row.try_get("maybe_cover_image_public_bucket_hash")?,
maybe_cover_image_public_bucket_prefix: row.try_get("maybe_cover_image_public_bucket_prefix")?,
maybe_cover_image_public_bucket_extension: row.try_get("maybe_cover_image_public_bucket_extension")?,
cached_user_ratings_total_count: row.try_get("cached_user_ratings_total_count")?,
cached_user_ratings_positive_count: row.try_get("cached_user_ratings_positive_count")?,
cached_user_ratings_negative_count: row.try_get("cached_user_ratings_negative_count")?,
@@ -31,8 +31,6 @@ pub struct WeightsJoinUserRecord {
pub title: String,
pub maybe_thumbnail_token: Option<String>,
pub description_markdown: String,
pub description_rendered_html: String,
@@ -52,9 +50,9 @@ pub struct WeightsJoinUserRecord {
pub maybe_public_bucket_prefix: Option<String>,
pub maybe_public_bucket_extension: Option<String>,
pub maybe_avatar_public_bucket_hash: Option<String>,
pub maybe_avatar_public_bucket_prefix: Option<String>,
pub maybe_avatar_public_bucket_extension: Option<String>,
pub maybe_cover_image_public_bucket_hash: Option<String>,
pub maybe_cover_image_public_bucket_prefix: Option<String>,
pub maybe_cover_image_public_bucket_extension: Option<String>,
pub cached_user_ratings_total_count: u32,
pub cached_user_ratings_positive_count: u32,
@@ -142,7 +140,6 @@ fn select_result_fields() -> String {
mw.title,
mw.weights_type,
mw.weights_category,
mw.maybe_thumbnail_token,
mw.description_markdown,
mw.description_rendered_html,
u.token as creator_user_token,
@@ -161,9 +158,9 @@ fn select_result_fields() -> String {
mw.maybe_public_bucket_prefix,
mw.maybe_public_bucket_extension,
avatar.public_bucket_directory_hash as maybe_avatar_public_bucket_hash,
avatar.maybe_public_bucket_prefix as maybe_avatar_public_bucket_prefix,
avatar.maybe_public_bucket_extension as maybe_avatar_public_bucket_extension,
cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,
cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,
cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,
mw.cached_user_ratings_negative_count,
mw.cached_user_ratings_positive_count,
@@ -196,8 +193,8 @@ SELECT
FROM model_weights as mw
JOIN users as u
ON u.token = mw.creator_user_token
LEFT OUTER JOIN media_files as avatar
ON avatar.token = mw.maybe_avatar_media_file_token
LEFT OUTER JOIN media_files as cover_image
ON cover_image.token = mw.maybe_cover_image_media_file_token
"#
));
@@ -233,7 +230,6 @@ async fn map_to_weights(dataset:Vec<RawWeightJoinUser>) -> Vec<WeightsJoinUserRe
title: weight.title,
weights_type: weight.weights_type,
weights_category: weight.weights_category,
maybe_thumbnail_token: weight.maybe_thumbnail_token,
description_markdown: weight.description_markdown,
description_rendered_html: weight.description_rendered_html,
@@ -250,9 +246,9 @@ async fn map_to_weights(dataset:Vec<RawWeightJoinUser>) -> Vec<WeightsJoinUserRe
maybe_public_bucket_prefix: weight.maybe_public_bucket_prefix,
maybe_public_bucket_extension: weight.maybe_public_bucket_extension,
maybe_avatar_public_bucket_hash: weight.maybe_avatar_public_bucket_hash,
maybe_avatar_public_bucket_prefix: weight.maybe_avatar_public_bucket_prefix,
maybe_avatar_public_bucket_extension: weight.maybe_avatar_public_bucket_extension,
maybe_cover_image_public_bucket_hash: weight.maybe_cover_image_public_bucket_hash,
maybe_cover_image_public_bucket_prefix: weight.maybe_cover_image_public_bucket_prefix,
maybe_cover_image_public_bucket_extension: weight.maybe_cover_image_public_bucket_extension,
cached_user_ratings_negative_count: weight.cached_user_ratings_negative_count,
cached_user_ratings_positive_count: weight.cached_user_ratings_positive_count,
@@ -284,8 +280,6 @@ async fn map_to_weights(dataset:Vec<RawWeightJoinUser>) -> Vec<WeightsJoinUserRe
pub title: String,
pub maybe_thumbnail_token: Option<String>,
pub description_markdown: String,
pub description_rendered_html: String,
@@ -305,9 +299,9 @@ async fn map_to_weights(dataset:Vec<RawWeightJoinUser>) -> Vec<WeightsJoinUserRe
pub maybe_public_bucket_prefix: Option<String>,
pub maybe_public_bucket_extension: Option<String>,
pub maybe_avatar_public_bucket_hash: Option<String>,
pub maybe_avatar_public_bucket_prefix: Option<String>,
pub maybe_avatar_public_bucket_extension: Option<String>,
pub maybe_cover_image_public_bucket_hash: Option<String>,
pub maybe_cover_image_public_bucket_prefix: Option<String>,
pub maybe_cover_image_public_bucket_extension: Option<String>,
pub cached_user_ratings_total_count: u32,
pub cached_user_ratings_positive_count: u32,
@@ -335,7 +329,6 @@ impl FromRow<'_, MySqlRow> for RawWeightJoinUser {
weights_type: row.try_get("weights_type")?,
weights_category: row.try_get("weights_category")?,
title: row.try_get("title")?,
maybe_thumbnail_token: row.try_get("maybe_thumbnail_token")?,
description_markdown: row.try_get("description_markdown")?,
description_rendered_html: row.try_get("description_rendered_html")?,
creator_user_token: row.try_get("creator_user_token")?,
@@ -349,9 +342,9 @@ impl FromRow<'_, MySqlRow> for RawWeightJoinUser {
public_bucket_hash: row.try_get("public_bucket_hash")?,
maybe_public_bucket_prefix: row.try_get("maybe_public_bucket_prefix")?,
maybe_public_bucket_extension: row.try_get("maybe_public_bucket_extension")?,
maybe_avatar_public_bucket_hash: row.try_get("maybe_avatar_public_bucket_hash")?,
maybe_avatar_public_bucket_prefix: row.try_get("maybe_avatar_public_bucket_prefix")?,
maybe_avatar_public_bucket_extension: row.try_get("maybe_avatar_public_bucket_extension")?,
maybe_cover_image_public_bucket_hash: row.try_get("maybe_cover_image_public_bucket_hash")?,
maybe_cover_image_public_bucket_prefix: row.try_get("maybe_cover_image_public_bucket_prefix")?,
maybe_cover_image_public_bucket_extension: row.try_get("maybe_cover_image_public_bucket_extension")?,
cached_user_ratings_total_count: row.try_get("cached_user_ratings_total_count")?,
cached_user_ratings_positive_count: row.try_get("cached_user_ratings_positive_count")?,
cached_user_ratings_negative_count: row.try_get("cached_user_ratings_negative_count")?,
@@ -36,8 +36,6 @@ pub struct WeightJoinUser {
pub title: String,
pub maybe_thumbnail_token: Option<String>,
pub description_markdown: String,
pub description_rendered_html: String,
@@ -57,9 +55,9 @@ pub struct WeightJoinUser {
pub maybe_public_bucket_prefix: Option<String>,
pub maybe_public_bucket_extension: Option<String>,
pub maybe_avatar_public_bucket_hash: Option<String>,
pub maybe_avatar_public_bucket_prefix: Option<String>,
pub maybe_avatar_public_bucket_extension: Option<String>,
pub maybe_cover_image_public_bucket_hash: Option<String>,
pub maybe_cover_image_public_bucket_prefix: Option<String>,
pub maybe_cover_image_public_bucket_extension: Option<String>,
pub cached_user_ratings_total_count: u32,
pub cached_user_ratings_positive_count: u32,
@@ -220,7 +218,6 @@ impl ListWeightsQueryBuilder {
record.weights_category.as_str()
).unwrap(),
title: record.title,
maybe_thumbnail_token: record.maybe_thumbnail_token,
description_markdown: record.description_markdown,
description_rendered_html: record.description_rendered_html,
creator_user_token: UserToken::new_from_str(&record.creator_user_token),
@@ -238,9 +235,9 @@ impl ListWeightsQueryBuilder {
public_bucket_hash: record.public_bucket_hash,
maybe_public_bucket_prefix: record.maybe_public_bucket_prefix,
maybe_public_bucket_extension: record.maybe_public_bucket_extension,
maybe_avatar_public_bucket_hash: record.maybe_avatar_public_bucket_hash,
maybe_avatar_public_bucket_prefix: record.maybe_avatar_public_bucket_prefix,
maybe_avatar_public_bucket_extension: record.maybe_avatar_public_bucket_extension,
maybe_cover_image_public_bucket_hash: record.maybe_cover_image_public_bucket_hash,
maybe_cover_image_public_bucket_prefix: record.maybe_cover_image_public_bucket_prefix,
maybe_cover_image_public_bucket_extension: record.maybe_cover_image_public_bucket_extension,
cached_user_ratings_total_count: record.cached_user_ratings_total_count,
cached_user_ratings_positive_count: record.cached_user_ratings_positive_count,
cached_user_ratings_negative_count: record.cached_user_ratings_negative_count,
@@ -275,7 +272,6 @@ impl ListWeightsQueryBuilder {
model_weights.weights_type,
model_weights.weights_category,
model_weights.title,
model_weights.maybe_thumbnail_token,
model_weights.description_markdown,
model_weights.description_rendered_html,
model_weights.creator_user_token,
@@ -289,9 +285,9 @@ impl ListWeightsQueryBuilder {
model_weights.public_bucket_hash,
model_weights.maybe_public_bucket_prefix,
model_weights.maybe_public_bucket_extension,
avatar.public_bucket_directory_hash as maybe_avatar_public_bucket_hash,
avatar.maybe_public_bucket_prefix as maybe_avatar_public_bucket_prefix,
avatar.maybe_public_bucket_extension as maybe_avatar_public_bucket_extension,
cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,
cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,
cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,
model_weights.cached_user_ratings_total_count,
model_weights.cached_user_ratings_positive_count,
model_weights.cached_user_ratings_negative_count,
@@ -308,8 +304,8 @@ impl ListWeightsQueryBuilder {
FROM model_weights
JOIN users
ON users.token = model_weights.creator_user_token
LEFT OUTER JOIN media_files as avatar
ON avatar.token = model_weights.maybe_avatar_media_file_token
LEFT OUTER JOIN media_files as cover_image
ON cover_image.token = model_weights.maybe_cover_image_media_file_token
"#.to_string();
query.push_str(&self.build_predicates());
@@ -434,8 +430,6 @@ struct RawWeightJoinUser {
pub title: String,
pub maybe_thumbnail_token: Option<String>,
pub description_markdown: String,
pub description_rendered_html: String,
@@ -455,9 +449,9 @@ struct RawWeightJoinUser {
pub maybe_public_bucket_prefix: Option<String>,
pub maybe_public_bucket_extension: Option<String>,
pub maybe_avatar_public_bucket_hash: Option<String>,
pub maybe_avatar_public_bucket_prefix: Option<String>,
pub maybe_avatar_public_bucket_extension: Option<String>,
pub maybe_cover_image_public_bucket_hash: Option<String>,
pub maybe_cover_image_public_bucket_prefix: Option<String>,
pub maybe_cover_image_public_bucket_extension: Option<String>,
pub cached_user_ratings_total_count: u32,
pub cached_user_ratings_positive_count: u32,
@@ -76,9 +76,7 @@ SET
weights_type = ?,
weights_category = ?,
title = ?,
maybe_thumbnail_token = NULL,
maybe_avatar_media_file_token = NULL,
maybe_cover_media_file_token = NULL,
maybe_cover_image_media_file_token = NULL,
description_markdown = ?,
description_rendered_html = ?,
creator_user_token = ?,
@@ -111,9 +109,7 @@ ON DUPLICATE KEY UPDATE
weights_type = ?,
weights_category = ?,
title = ?,
maybe_thumbnail_token = NULL,
maybe_avatar_media_file_token = NULL,
maybe_cover_media_file_token = NULL,
maybe_cover_image_media_file_token = NULL,
description_markdown = ?,
description_rendered_html = ?,
creator_user_token = ?,
@@ -4,7 +4,6 @@ CREATE TABLE model_weights (
weights_type VARCHAR(32) NOT NULL,
weights_category VARCHAR(32) NOT NULL,
title VARCHAR(255) NOT NULL,
maybe_thumbnail_token VARCHAR(32) DEFAULT NULL,
description_markdown TEXT NOT NULL,
description_rendered_html TEXT NOT NULL,
creator_user_token VARCHAR(32) NOT NULL,
@@ -65,7 +65,6 @@ mod tests {
weights_type: WeightsType::RvcV2, // replace with actual WeightsType
weights_category: WeightsCategory::VoiceConversion, // replace with actual WeightsCategory
title: "Title 1".to_string(),
maybe_thumbnail_token: Some("Thumbnail 1".to_string()),
description_markdown: "Description 1".to_string(),
description_rendered_html: "<p>Description 1</p>".to_string(),
creator_user_token: Some(&creator_token1), // replace with actual UserToken
@@ -98,7 +97,6 @@ mod tests {
assert_eq!(result.title, "Title 1".to_string());
assert_eq!(result.weights_type, WeightsType::RvcV2);
assert_eq!(result.weights_category, WeightsCategory::VoiceConversion);
assert_eq!(result.maybe_thumbnail_token, Some("Thumbnail 1".to_string()));
assert_eq!(result.description_markdown, "Description 1".to_string());
assert_eq!(result.description_rendered_html, "<p>Description 1</p>".to_string());
assert_eq!(result.creator_user_token, creator_token1);
@@ -140,7 +138,6 @@ mod tests {
weights_type: WeightsType::RvcV2, // replace with actual WeightsType
weights_category: WeightsCategory::VoiceConversion, // replace with actual WeightsCategory
title: "Title 1".to_string(),
maybe_thumbnail_token: Some("Thumbnail 1".to_string()),
description_markdown: "Description 1".to_string(),
description_rendered_html: "<p>Description 1</p>".to_string(),
creator_user_token: Some(&creator_token1), // replace with actual UserToken
@@ -217,7 +214,6 @@ mod tests {
weights_type: WeightsType::RvcV2, // replace with actual WeightsType
weights_category: WeightsCategory::VoiceConversion, // replace with actual WeightsCategory
title: "Title 1".to_string(),
maybe_thumbnail_token: Some("Thumbnail 1".to_string()),
description_markdown: "Description 1".to_string(),
description_rendered_html: "<p>Description 1</p>".to_string(),
creator_user_token: Some(&creator_token1), // replace with actual UserToken
@@ -332,7 +328,6 @@ mod tests {
weights_type: weights_type, // replace with actual WeightsType
weights_category: weights_category, // replace with actual WeightsCategory
title: format!("Title {}", i),
maybe_thumbnail_token: Some(format!("Thumbnail {}", i)),
description_markdown: format!("Description {}", i),
description_rendered_html: format!("<p>Description {}</p>", i),
creator_user_token: Some(&creator_token), // replace with actual UserToken
@@ -575,7 +570,6 @@ mod tests {
weights_type: weights_type, // replace with actual WeightsType
weights_category: weights_category, // replace with actual WeightsCategory
title: format!("Title {}", i),
maybe_thumbnail_token: Some(format!("Thumbnail {}", i)),
description_markdown: format!("Description {}", i),
description_rendered_html: format!("<p>Description {}</p>", i),
creator_user_token: Some(&creator_token), // replace with actual UserToken
@@ -1,119 +0,0 @@
use std::collections::HashSet;
use std::sync::Arc;
use actix_multipart::Multipart;
use actix_web::{HttpRequest, HttpResponse, web};
use enums::by_table::model_weights::weights_category::WeightsCategory;
use enums::by_table::model_weights::weights_types::WeightsType;
use mysql_queries::queries::model_weights::create_weight::{self, create_weight};
use once_cell::sync::Lazy;
use tokens::tokens::model_weights::ModelWeightToken;
use crate::http_server::endpoints::media_uploads::common::upload_error::UploadError;
use crate::server_state::ServerState;
use log::{error, info, warn};
use buckets::public::weight_uploads::original_file::WeightUploadOriginalFilePath;
use enums::by_table::media_uploads::media_upload_source::MediaUploadSource;
use enums::by_table::media_uploads::media_upload_type::MediaUploadType;
use enums::common::visibility::Visibility;
use hashing::sha256::sha256_hash_bytes::sha256_hash_bytes;
use http_server_common::request::get_request_ip::get_request_ip;
use media::decode_basic_audio_info::decode_basic_audio_bytes_info;
use mimetypes::mimetype_for_bytes::get_mimetype_for_bytes;
use mysql_queries::queries::media_uploads::get_media_upload_by_uuid::get_media_upload_by_uuid_with_connection;
use mysql_queries::queries::media_uploads::insert_media_upload::{Args, insert_media_upload};
use crate::http_server::endpoints::media_uploads::common::drain_multipart_request::{drain_multipart_request, MediaSource};
use crate::validations::validate_idempotency_token_format::validate_idempotency_token_format;
use utoipa::ToSchema;
#[derive(Serialize,ToSchema)]
pub struct UploadWeightsSuccessResponse {
pub success: bool,
pub upload_token: ModelWeightToken,
}
static ALLOWED_MIME_TYPES : Lazy<HashSet<&'static str>> = Lazy::new(|| {
HashSet::from([
"binary/octet-stream",
])
});
// pub async fn create_weight_handler(
// http_request: HttpRequest,
// server_state: web::Data<Arc<ServerState>>,
// mut multipart_payload: Multipart,
// ) -> Result<HttpResponse, UploadError> {
// let weight_upload_token = response.to_model_token();
// let response: UploadWeightsSuccessResponse = UploadWeightsSuccessResponse {
// success: true,
// upload_token: weight_upload_token,
// };
// let body = serde_json::to_string(&response)
// .map_err(|e| UploadError::ServerError)?;
// return Ok(HttpResponse::Ok()
// .content_type("application/json")
// .body(body));
// }
// pub enum SuccessCase {
// WeightAlreadyUploaded {
// existing_upload_token: ModelWeightToken,
// },
// WeightSuccessfullyUploaded {
// upload_token: ModelWeightToken,
// }
// }
// impl SuccessCase {
// pub fn to_model_token(self) -> ModelWeightToken {
// match self {
// SuccessCase::WeightAlreadyUploaded { existing_upload_token } => existing_upload_token,
// SuccessCase::WeightSuccessfullyUploaded { upload_token } => upload_token,
// }
// }
// }
// let token = create_weight(CreateModelWeightsArgs {
// token: &ModelWeightToken::generate(),
// weights_type: WeightsType::LoRA, // to do parse multi part for this
// weights_category: WeightsCategory::ImageGeneration,
// title: upload_weights_request.file_name.as_deref(),
// maybe_thumbnail_token: &ThumbnailToken::generate(),
// description_markdown: "",
// description_rendered_html: "",
// creator_user_token: maybe_user_token.as_str(),
// creator_ip_address: &ip_address,
// creator_set_visibility,
// maybe_last_update_user_token: "",
// original_download_url: "",
// original_filename: upload_weights_request.file_name.as_deref(),
// file_size_bytes: file_size_bytes as i32,
// file_checksum_sha2: hash,
// private_bucket_hash: private_bucket_hash,
// maybe_private_bucket_prefix: None,
// maybe_private_bucket_extension: None,
// cached_user_ratings_total_count: 0,
// cached_user_ratings_positive_count: 0,
// cached_user_ratings_negative_count: 0,
// maybe_cached_user_ratings_ratio: None,
// version: 0,
// mysql_pool: &server_state.mysql_pool,
// }).await
// .map_err(|e| {
// error!("Error creating weights upload: {:?}", e);
// UploadError::ServerError
// })?;
// info!("new weights upload id: {} token: {:?}", record_id, &token);
// Ok()
// }
@@ -26,7 +26,6 @@ pub struct GetWeightResponse {
title: String,
weights_type: WeightsType,
weights_category: WeightsCategory,
maybe_thumbnail_token: Option<String>,
description_markdown: String,
description_rendered_html: String,
@@ -36,9 +35,9 @@ pub struct GetWeightResponse {
file_size_bytes: i32,
file_checksum_sha2: String,
/// Avatars are small descriptive images that can be set for any model.
/// If an avatar is set, this is the path to the asset.
maybe_avatar_public_bucket_path: Option<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.
maybe_cover_image_public_bucket_path: Option<String>,
cached_user_ratings_negative_count: u32,
cached_user_ratings_positive_count: u32,
@@ -144,13 +143,13 @@ pub async fn get_weight_handler(
return Err(GetWeightError::NotAuthorized);
}
let maybe_avatar = weight.maybe_avatar_public_bucket_hash
let maybe_cover_image = weight.maybe_cover_image_public_bucket_hash
.as_deref()
.map(|hash| {
MediaFileBucketPath::from_object_hash(
hash,
weight.maybe_avatar_public_bucket_prefix.as_deref(),
weight.maybe_avatar_public_bucket_extension.as_deref())
weight.maybe_cover_image_public_bucket_prefix.as_deref(),
weight.maybe_cover_image_public_bucket_extension.as_deref())
.get_full_object_path_str()
.to_string()
});
@@ -168,10 +167,9 @@ pub async fn get_weight_handler(
title: weight.title,
weights_type: weight.weights_type,
weights_category: weight.weights_category,
maybe_thumbnail_token: weight.maybe_thumbnail_token,
description_markdown: weight.description_markdown,
description_rendered_html: weight.description_rendered_html,
maybe_avatar_public_bucket_path: maybe_avatar,
maybe_cover_image_public_bucket_path: maybe_cover_image,
creator,
creator_set_visibility: weight.creator_set_visibility,
file_size_bytes: weight.file_size_bytes,
@@ -53,9 +53,9 @@ pub struct ModelWeightForList {
pub description_markdown: String,
pub description_rendered_html: String,
/// Avatars are small descriptive images that can be set for any model.
/// If an avatar is set, this is the path to the asset.
pub maybe_avatar_public_bucket_path: Option<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>,
pub creator: UserDetailsLight,
pub creator_set_visibility: Visibility,
@@ -226,13 +226,13 @@ pub async fn list_available_weights_handler(
weights: weights_page.weights.into_iter()
.map(|weight| {
let maybe_avatar = weight.maybe_avatar_public_bucket_hash
let maybe_cover_image = weight.maybe_cover_image_public_bucket_hash
.as_deref()
.map(|hash| {
MediaFileBucketPath::from_object_hash(
hash,
weight.maybe_avatar_public_bucket_prefix.as_deref(),
weight.maybe_avatar_public_bucket_extension.as_deref())
weight.maybe_cover_image_public_bucket_prefix.as_deref(),
weight.maybe_cover_image_public_bucket_extension.as_deref())
.get_full_object_path_str()
.to_string()
});
@@ -245,7 +245,7 @@ pub async fn list_available_weights_handler(
description_markdown: weight.description_markdown,
description_rendered_html: weight.description_rendered_html,
maybe_avatar_public_bucket_path: maybe_avatar,
maybe_cover_image_public_bucket_path: maybe_cover_image,
creator: UserDetailsLight::from_db_fields(
&weight.creator_user_token,
@@ -36,9 +36,9 @@ pub struct ModelWeightForList {
pub creator: UserDetailsLight,
/// Avatars are small descriptive images that can be set for any model.
/// If an avatar is set, this is the path to the asset.
pub maybe_avatar_public_bucket_path: Option<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>,
pub cached_user_ratings_total_count: u32,
pub cached_user_ratings_positive_count: u32,
@@ -130,13 +130,13 @@ pub async fn list_featured_weights_handler(
weights: weights.into_iter()
.map(|w| {
let maybe_avatar = w.maybe_avatar_public_bucket_hash
let maybe_cover_image = w.maybe_cover_image_public_bucket_hash
.as_deref()
.map(|hash| {
MediaFileBucketPath::from_object_hash(
hash,
w.maybe_avatar_public_bucket_prefix.as_deref(),
w.maybe_avatar_public_bucket_extension.as_deref())
w.maybe_cover_image_public_bucket_prefix.as_deref(),
w.maybe_cover_image_public_bucket_extension.as_deref())
.get_full_object_path_str()
.to_string()
});
@@ -146,7 +146,7 @@ pub async fn list_featured_weights_handler(
title: w.title,
weights_type: w.weights_type,
weights_category: w.weights_category,
maybe_avatar_public_bucket_path: maybe_avatar,
maybe_cover_image_public_bucket_path: maybe_cover_image,
creator: UserDetailsLight::from_db_fields(
&w.creator_user_token,
&w.creator_username,
@@ -32,9 +32,9 @@ pub struct Weight {
file_size_bytes: i32,
file_checksum_sha2: String,
/// Avatars are small descriptive images that can be set for any model.
/// If an avatar is set, this is the path to the asset.
maybe_avatar_public_bucket_path: Option<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.
maybe_cover_image_public_bucket_path: Option<String>,
cached_user_ratings_total_count: u32,
cached_user_ratings_positive_count: u32,
@@ -156,13 +156,13 @@ pub async fn list_weights_by_user_handler(
let weights:Vec<Weight> = results_page.records.into_iter().map(|weight| {
let maybe_avatar = weight.maybe_avatar_public_bucket_hash
let maybe_cover_image = weight.maybe_cover_image_public_bucket_hash
.as_deref()
.map(|hash| {
MediaFileBucketPath::from_object_hash(
hash,
weight.maybe_avatar_public_bucket_prefix.as_deref(),
weight.maybe_avatar_public_bucket_extension.as_deref())
weight.maybe_cover_image_public_bucket_prefix.as_deref(),
weight.maybe_cover_image_public_bucket_extension.as_deref())
.get_full_object_path_str()
.to_string()
});
@@ -176,7 +176,7 @@ pub async fn list_weights_by_user_handler(
&weight.creator_display_name,
&weight.creator_email_gravatar_hash,
),
maybe_avatar_public_bucket_path: maybe_avatar,
maybe_cover_image_public_bucket_path: maybe_cover_image,
description_markdown: weight.description_markdown,
description_rendered_html: weight.description_rendered_html,
file_size_bytes: weight.file_size_bytes,
@@ -3,7 +3,5 @@ pub mod get_weight;
pub mod list_available_weights;
pub mod list_featured_weights;
pub mod list_weights_by_user;
pub mod set_model_weight_avatar;
pub mod update_weight;
// pub mod create_weight; this is a private api call internally
// pub mod drain_multipart_weights_request;
pub mod set_model_weight_cover_image;
pub mod update_weight;
@@ -13,7 +13,7 @@ use http_server_common::request::get_request_ip::get_request_ip;
use http_server_common::response::response_success_helpers::simple_json_success;
use http_server_common::response::serialize_as_json_error::serialize_as_json_error;
use mysql_queries::queries::media_files::get_media_file::get_media_file;
use mysql_queries::queries::model_weights::edit::set_model_weight_avatar::{set_model_weight_avatar, UpdateArgs};
use mysql_queries::queries::model_weights::edit::set_model_weight_cover_image::{set_model_weight_cover_image, UpdateArgs};
use mysql_queries::queries::model_weights::get_weight::get_weight_by_token;
use tokens::tokens::media_files::MediaFileToken;
use tokens::tokens::model_weights::ModelWeightToken;
@@ -70,7 +70,7 @@ impl fmt::Display for SetModelWeightAvatarError {
// =============== Handler ===============
pub async fn set_model_weight_avatar_handler(
pub async fn set_model_weight_cover_image_handler(
http_request: HttpRequest,
path: Path<SetModelWeightAvatarPathInfo>,
request: web::Json<SetModelWeightAvatarRequest>,
@@ -161,9 +161,9 @@ pub async fn set_model_weight_avatar_handler(
// TODO(bt,2023-12-21): DB needs a column, or we need an ip audit log
let _ip_address = get_request_ip(&http_request);
let query_result = set_model_weight_avatar(UpdateArgs {
let query_result = set_model_weight_cover_image(UpdateArgs {
model_weight_token: &path.token,
maybe_avatar_media_file_token: maybe_set_media_file_token.as_ref(),
maybe_cover_image_media_file_token: maybe_set_media_file_token.as_ref(),
mysql_pool: &server_state.mysql_pool,
}).await;
@@ -20,7 +20,6 @@ use utoipa::ToSchema;
#[derive(Deserialize, ToSchema)]
pub struct UpdateWeightRequest {
pub title: Option<String>,
pub thumbnail_token: Option<String>,
pub description_markdown: Option<String>,
pub description_rendered_html: Option<String>,
pub weight_type: Option<String>,
@@ -143,7 +142,6 @@ pub async fn update_weight_handler(
weight_token: &ModelWeightToken::new(path.weight_token.clone()),
mysql_pool: &server_state.mysql_pool,
title: request.title.as_deref(),
maybe_thumbnail_token: request.thumbnail_token.as_deref(),
description_markdown: request.description_markdown.as_deref(),
description_rendered_html: request.description_rendered_html.as_deref(),
creator_set_visibility: request.visibility.as_ref(),
@@ -160,7 +160,7 @@ use crate::http_server::endpoints::weights::get_weight::get_weight_handler;
use crate::http_server::endpoints::weights::list_available_weights::list_available_weights_handler;
use crate::http_server::endpoints::weights::list_featured_weights::list_featured_weights_handler;
use crate::http_server::endpoints::weights::list_weights_by_user::list_weights_by_user_handler;
use crate::http_server::endpoints::weights::set_model_weight_avatar::set_model_weight_avatar_handler;
use crate::http_server::endpoints::weights::set_model_weight_cover_image::set_model_weight_cover_image_handler;
use crate::http_server::endpoints::weights::update_weight::update_weight_handler;
pub fn add_routes<T, B> (app: App<T>, server_environment: ServerEnvironment) -> App<T>
@@ -1278,8 +1278,8 @@ fn add_weights_routes<T, B>(app: App<T>) -> App<T>
.route(web::post().to(update_weight_handler))
.route(web::delete().to(delete_weight_handler))
)
.service(web::resource("/weight/{token}/avatar")
.route(web::post().to(set_model_weight_avatar_handler))
.service(web::resource("/weight/{token}/cover_image")
.route(web::post().to(set_model_weight_cover_image_handler))
)
.route("/by_user/{username}", web::get().to(list_weights_by_user_handler))
.route("/list", web::get().to(list_available_weights_handler))