diff --git a/.sqlx/query-7d3806f46b5cc96c0e3df22454190834c0294ad34db2d8271f2e2863a3cca3a1.json b/.sqlx/query-07956793af149b9cf80eb296128be2d20e2e252b3529e20935057a4d0ff01dbc.json similarity index 81% rename from .sqlx/query-7d3806f46b5cc96c0e3df22454190834c0294ad34db2d8271f2e2863a3cca3a1.json rename to .sqlx/query-07956793af149b9cf80eb296128be2d20e2e252b3529e20935057a4d0ff01dbc.json index b64d867a14..6e877a16f4 100644 --- a/.sqlx/query-7d3806f46b5cc96c0e3df22454190834c0294ad34db2d8271f2e2863a3cca3a1.json +++ b/.sqlx/query-07956793af149b9cf80eb296128be2d20e2e252b3529e20935057a4d0ff01dbc.json @@ -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_description_markdown,\n wt.maybe_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 ", + "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_description_markdown,\n wt.maybe_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.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": [ { @@ -235,56 +235,6 @@ }, { "ordinal": 23, - "name": "cached_user_ratings_negative_count", - "type_info": { - "type": "Long", - "flags": "NOT_NULL | UNSIGNED", - "char_set": 63, - "max_size": 10 - } - }, - { - "ordinal": 24, - "name": "cached_user_ratings_positive_count", - "type_info": { - "type": "Long", - "flags": "NOT_NULL | UNSIGNED", - "char_set": 63, - "max_size": 10 - } - }, - { - "ordinal": 25, - "name": "cached_user_ratings_total_count", - "type_info": { - "type": "Long", - "flags": "NOT_NULL | UNSIGNED", - "char_set": 63, - "max_size": 10 - } - }, - { - "ordinal": 26, - "name": "maybe_cached_user_ratings_ratio", - "type_info": { - "type": "Float", - "flags": "", - "char_set": 63, - "max_size": 12 - } - }, - { - "ordinal": 27, - "name": "cached_user_ratings_last_updated_at", - "type_info": { - "type": "Timestamp", - "flags": "NOT_NULL | BINARY | TIMESTAMP", - "char_set": 63, - "max_size": 19 - } - }, - { - "ordinal": 28, "name": "version", "type_info": { "type": "Long", @@ -294,7 +244,7 @@ } }, { - "ordinal": 29, + "ordinal": 24, "name": "created_at", "type_info": { "type": "Timestamp", @@ -304,7 +254,7 @@ } }, { - "ordinal": 30, + "ordinal": 25, "name": "updated_at", "type_info": { "type": "Timestamp", @@ -314,7 +264,7 @@ } }, { - "ordinal": 31, + "ordinal": 26, "name": "user_deleted_at", "type_info": { "type": "Timestamp", @@ -324,7 +274,7 @@ } }, { - "ordinal": 32, + "ordinal": 27, "name": "mod_deleted_at", "type_info": { "type": "Timestamp", @@ -365,13 +315,8 @@ false, false, true, - false, - false, - false, - false, - true, true ] }, - "hash": "7d3806f46b5cc96c0e3df22454190834c0294ad34db2d8271f2e2863a3cca3a1" + "hash": "07956793af149b9cf80eb296128be2d20e2e252b3529e20935057a4d0ff01dbc" } diff --git a/.sqlx/query-0a392b6adb884a4bb4c08fbc2123d40c27e9fbb5c2b688b182f849b0c1cc5735.json b/.sqlx/query-0a392b6adb884a4bb4c08fbc2123d40c27e9fbb5c2b688b182f849b0c1cc5735.json deleted file mode 100644 index a906df9496..0000000000 --- a/.sqlx/query-0a392b6adb884a4bb4c08fbc2123d40c27e9fbb5c2b688b182f849b0c1cc5735.json +++ /dev/null @@ -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_cover_image_media_file_token = NULL,\n maybe_description_markdown = ?,\n maybe_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 maybe_description_markdown = ?,\n maybe_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": "0a392b6adb884a4bb4c08fbc2123d40c27e9fbb5c2b688b182f849b0c1cc5735" -} diff --git a/.sqlx/query-3cfd6ff9a99be15f4a90a710d147291e5f62487c88a5c5bbbbd1fb2c1780a4d5.json b/.sqlx/query-3cfd6ff9a99be15f4a90a710d147291e5f62487c88a5c5bbbbd1fb2c1780a4d5.json new file mode 100644 index 0000000000..02991efe19 --- /dev/null +++ b/.sqlx/query-3cfd6ff9a99be15f4a90a710d147291e5f62487c88a5c5bbbbd1fb2c1780a4d5.json @@ -0,0 +1,12 @@ +{ + "db_name": "MySQL", + "query": "\n INSERT INTO entity_stats SET\n entity_type = ?,\n entity_token = ?,\n bookmark_count = 1\n ON DUPLICATE KEY UPDATE\n bookmark_count = bookmark_count + 1\n ", + "describe": { + "columns": [], + "parameters": { + "Right": 2 + }, + "nullable": [] + }, + "hash": "3cfd6ff9a99be15f4a90a710d147291e5f62487c88a5c5bbbbd1fb2c1780a4d5" +} diff --git a/.sqlx/query-bb2c5a81ab6f38ecef7ee177a4ea36e75c5d2180a897094f940f097bbbd66060.json b/.sqlx/query-3ee7bdfb6687aae88a7eb46f32a7016b421f5d79f1ca1c1bf108b65c8bb884e8.json similarity index 80% rename from .sqlx/query-bb2c5a81ab6f38ecef7ee177a4ea36e75c5d2180a897094f940f097bbbd66060.json rename to .sqlx/query-3ee7bdfb6687aae88a7eb46f32a7016b421f5d79f1ca1c1bf108b65c8bb884e8.json index 6b37cdbb7e..6f76c08435 100644 --- a/.sqlx/query-bb2c5a81ab6f38ecef7ee177a4ea36e75c5d2180a897094f940f097bbbd66060.json +++ b/.sqlx/query-3ee7bdfb6687aae88a7eb46f32a7016b421f5d79f1ca1c1bf108b65c8bb884e8.json @@ -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_description_markdown,\n wt.maybe_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 ", + "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_description_markdown,\n wt.maybe_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.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": [ { @@ -235,56 +235,6 @@ }, { "ordinal": 23, - "name": "cached_user_ratings_negative_count", - "type_info": { - "type": "Long", - "flags": "NOT_NULL | UNSIGNED", - "char_set": 63, - "max_size": 10 - } - }, - { - "ordinal": 24, - "name": "cached_user_ratings_positive_count", - "type_info": { - "type": "Long", - "flags": "NOT_NULL | UNSIGNED", - "char_set": 63, - "max_size": 10 - } - }, - { - "ordinal": 25, - "name": "cached_user_ratings_total_count", - "type_info": { - "type": "Long", - "flags": "NOT_NULL | UNSIGNED", - "char_set": 63, - "max_size": 10 - } - }, - { - "ordinal": 26, - "name": "maybe_cached_user_ratings_ratio", - "type_info": { - "type": "Float", - "flags": "", - "char_set": 63, - "max_size": 12 - } - }, - { - "ordinal": 27, - "name": "cached_user_ratings_last_updated_at", - "type_info": { - "type": "Timestamp", - "flags": "NOT_NULL | BINARY | TIMESTAMP", - "char_set": 63, - "max_size": 19 - } - }, - { - "ordinal": 28, "name": "version", "type_info": { "type": "Long", @@ -294,7 +244,7 @@ } }, { - "ordinal": 29, + "ordinal": 24, "name": "created_at", "type_info": { "type": "Timestamp", @@ -304,7 +254,7 @@ } }, { - "ordinal": 30, + "ordinal": 25, "name": "updated_at", "type_info": { "type": "Timestamp", @@ -314,7 +264,7 @@ } }, { - "ordinal": 31, + "ordinal": 26, "name": "user_deleted_at", "type_info": { "type": "Timestamp", @@ -324,7 +274,7 @@ } }, { - "ordinal": 32, + "ordinal": 27, "name": "mod_deleted_at", "type_info": { "type": "Timestamp", @@ -365,13 +315,8 @@ false, false, true, - false, - false, - false, - false, - true, true ] }, - "hash": "bb2c5a81ab6f38ecef7ee177a4ea36e75c5d2180a897094f940f097bbbd66060" + "hash": "3ee7bdfb6687aae88a7eb46f32a7016b421f5d79f1ca1c1bf108b65c8bb884e8" } diff --git a/.sqlx/query-6512f05410514927b52b8cc42f4eda0ad7a256254fd7fcf3b8a1cc429b06ad38.json b/.sqlx/query-632305ab500cf892b98971e5b23af854112a66897766c890631dd5d0105cb065.json similarity index 66% rename from .sqlx/query-6512f05410514927b52b8cc42f4eda0ad7a256254fd7fcf3b8a1cc429b06ad38.json rename to .sqlx/query-632305ab500cf892b98971e5b23af854112a66897766c890631dd5d0105cb065.json index 4fe8bf567c..916e878629 100644 --- a/.sqlx/query-6512f05410514927b52b8cc42f4eda0ad7a256254fd7fcf3b8a1cc429b06ad38.json +++ b/.sqlx/query-632305ab500cf892b98971e5b23af854112a66897766c890631dd5d0105cb065.json @@ -1,6 +1,6 @@ { "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 maybe_description_markdown = NULL,\n maybe_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 ", + "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 maybe_description_markdown = NULL,\n maybe_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 maybe_migration_old_model_token = ?\n ", "describe": { "columns": [], "parameters": { @@ -8,5 +8,5 @@ }, "nullable": [] }, - "hash": "6512f05410514927b52b8cc42f4eda0ad7a256254fd7fcf3b8a1cc429b06ad38" + "hash": "632305ab500cf892b98971e5b23af854112a66897766c890631dd5d0105cb065" } diff --git a/.sqlx/query-706f0fd898ec367a7e2851e51c4d00dc63c89521238e55281737758ac87cfb01.json b/.sqlx/query-706f0fd898ec367a7e2851e51c4d00dc63c89521238e55281737758ac87cfb01.json new file mode 100644 index 0000000000..a83b2b980f --- /dev/null +++ b/.sqlx/query-706f0fd898ec367a7e2851e51c4d00dc63c89521238e55281737758ac87cfb01.json @@ -0,0 +1,102 @@ +{ + "db_name": "MySQL", + "query": "\n SELECT\n b2.token as `token: tokens::tokens::user_bookmarks::UserBookmarkToken`,\n\n b2.entity_type as `entity_type: enums::by_table::user_bookmarks::user_bookmark_entity_type::UserBookmarkEntityType`,\n b2.entity_token,\n\n b2.user_token as `user_token: tokens::tokens::users::UserToken`,\n\n es.bookmark_count as unused_bookmark_count,\n\n b2.created_at,\n b2.updated_at,\n b2.deleted_at\n\n FROM\n user_bookmarks AS b1\n\n JOIN user_bookmarks as b2\n ON b1.entity_type = b2.entity_type\n AND b1.entity_token = b2.entity_token\n\n LEFT OUTER JOIN entity_stats AS es\n ON b1.entity_type = es.entity_type\n AND b1.entity_token = es.entity_token\n\n WHERE\n b1.token = ?\n\n FOR UPDATE\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "token: tokens::tokens::user_bookmarks::UserBookmarkToken", + "type_info": { + "type": "VarString", + "flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE", + "char_set": 224, + "max_size": 128 + } + }, + { + "ordinal": 1, + "name": "entity_type: enums::by_table::user_bookmarks::user_bookmark_entity_type::UserBookmarkEntityType", + "type_info": { + "type": "VarString", + "flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE", + "char_set": 224, + "max_size": 128 + } + }, + { + "ordinal": 2, + "name": "entity_token", + "type_info": { + "type": "VarString", + "flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE", + "char_set": 224, + "max_size": 128 + } + }, + { + "ordinal": 3, + "name": "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": 4, + "name": "unused_bookmark_count", + "type_info": { + "type": "Long", + "flags": "UNSIGNED", + "char_set": 63, + "max_size": 10 + } + }, + { + "ordinal": 5, + "name": "created_at", + "type_info": { + "type": "Timestamp", + "flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP", + "char_set": 63, + "max_size": 19 + } + }, + { + "ordinal": 6, + "name": "updated_at", + "type_info": { + "type": "Timestamp", + "flags": "NOT_NULL | BINARY | TIMESTAMP | ON_UPDATE_NOW", + "char_set": 63, + "max_size": 19 + } + }, + { + "ordinal": 7, + "name": "deleted_at", + "type_info": { + "type": "Timestamp", + "flags": "MULTIPLE_KEY | BINARY", + "char_set": 63, + "max_size": 19 + } + } + ], + "parameters": { + "Right": 1 + }, + "nullable": [ + false, + false, + false, + false, + true, + false, + false, + true + ] + }, + "hash": "706f0fd898ec367a7e2851e51c4d00dc63c89521238e55281737758ac87cfb01" +} diff --git a/.sqlx/query-799a88505077c6c286906087ee79141dd4aaa1d68df764c9a43b315e561d7291.json b/.sqlx/query-799a88505077c6c286906087ee79141dd4aaa1d68df764c9a43b315e561d7291.json new file mode 100644 index 0000000000..f7b3314c9b --- /dev/null +++ b/.sqlx/query-799a88505077c6c286906087ee79141dd4aaa1d68df764c9a43b315e561d7291.json @@ -0,0 +1,102 @@ +{ + "db_name": "MySQL", + "query": "\n SELECT\n b.token as `token: tokens::tokens::user_bookmarks::UserBookmarkToken`,\n\n b.entity_type as `entity_type: enums::by_table::user_bookmarks::user_bookmark_entity_type::UserBookmarkEntityType`,\n b.entity_token,\n\n b.user_token as `user_token: tokens::tokens::users::UserToken`,\n\n es.bookmark_count as unused_bookmark_count,\n\n b.created_at,\n b.updated_at,\n b.deleted_at\n\n FROM\n user_bookmarks AS b\n\n LEFT OUTER JOIN entity_stats AS es\n ON b.entity_type = es.entity_type\n AND b.entity_token = es.entity_token\n WHERE\n b.entity_type = ?\n AND b.entity_token = ?\n FOR UPDATE\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "token: tokens::tokens::user_bookmarks::UserBookmarkToken", + "type_info": { + "type": "VarString", + "flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE", + "char_set": 224, + "max_size": 128 + } + }, + { + "ordinal": 1, + "name": "entity_type: enums::by_table::user_bookmarks::user_bookmark_entity_type::UserBookmarkEntityType", + "type_info": { + "type": "VarString", + "flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE", + "char_set": 224, + "max_size": 128 + } + }, + { + "ordinal": 2, + "name": "entity_token", + "type_info": { + "type": "VarString", + "flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE", + "char_set": 224, + "max_size": 128 + } + }, + { + "ordinal": 3, + "name": "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": 4, + "name": "unused_bookmark_count", + "type_info": { + "type": "Long", + "flags": "UNSIGNED", + "char_set": 63, + "max_size": 10 + } + }, + { + "ordinal": 5, + "name": "created_at", + "type_info": { + "type": "Timestamp", + "flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP", + "char_set": 63, + "max_size": 19 + } + }, + { + "ordinal": 6, + "name": "updated_at", + "type_info": { + "type": "Timestamp", + "flags": "NOT_NULL | BINARY | TIMESTAMP | ON_UPDATE_NOW", + "char_set": 63, + "max_size": 19 + } + }, + { + "ordinal": 7, + "name": "deleted_at", + "type_info": { + "type": "Timestamp", + "flags": "MULTIPLE_KEY | BINARY", + "char_set": 63, + "max_size": 19 + } + } + ], + "parameters": { + "Right": 2 + }, + "nullable": [ + false, + false, + false, + false, + true, + false, + false, + true + ] + }, + "hash": "799a88505077c6c286906087ee79141dd4aaa1d68df764c9a43b315e561d7291" +} diff --git a/.sqlx/query-abcda1fc0b5a28166f3e15f2b3df96c5b6556d0ea3009d3f2bc9995bae95147e.json b/.sqlx/query-abcda1fc0b5a28166f3e15f2b3df96c5b6556d0ea3009d3f2bc9995bae95147e.json new file mode 100644 index 0000000000..41aa23f002 --- /dev/null +++ b/.sqlx/query-abcda1fc0b5a28166f3e15f2b3df96c5b6556d0ea3009d3f2bc9995bae95147e.json @@ -0,0 +1,25 @@ +{ + "db_name": "MySQL", + "query": "\nSELECT\n COUNT(*) as total_count\nFROM\n user_bookmarks\nWHERE\n entity_type = ?\n AND entity_token = ?\n AND deleted_at IS NULL\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "total_count", + "type_info": { + "type": "LongLong", + "flags": "NOT_NULL | BINARY", + "char_set": 63, + "max_size": 21 + } + } + ], + "parameters": { + "Right": 2 + }, + "nullable": [ + false + ] + }, + "hash": "abcda1fc0b5a28166f3e15f2b3df96c5b6556d0ea3009d3f2bc9995bae95147e" +} diff --git a/.sqlx/query-d8b255de4b16f95454c34e793c7a52726de90c2af490b17c415d7e92c00d9123.json b/.sqlx/query-d8b255de4b16f95454c34e793c7a52726de90c2af490b17c415d7e92c00d9123.json new file mode 100644 index 0000000000..89b8171763 --- /dev/null +++ b/.sqlx/query-d8b255de4b16f95454c34e793c7a52726de90c2af490b17c415d7e92c00d9123.json @@ -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 maybe_description_markdown = ?,\n maybe_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\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 maybe_description_markdown = ?,\n maybe_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 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": "d8b255de4b16f95454c34e793c7a52726de90c2af490b17c415d7e92c00d9123" +} diff --git a/.sqlx/query-a18c5b1418d71fa9aefd3ae5c440be2afc1f9467808aa66d3b850a4d54c81e4d.json b/.sqlx/query-db59a239bac6f5ceaad4396dfe6c2c933a7189dbf8da5f555b94148db1b0667f.json similarity index 67% rename from .sqlx/query-a18c5b1418d71fa9aefd3ae5c440be2afc1f9467808aa66d3b850a4d54c81e4d.json rename to .sqlx/query-db59a239bac6f5ceaad4396dfe6c2c933a7189dbf8da5f555b94148db1b0667f.json index a91c703081..94446d2f65 100644 --- a/.sqlx/query-a18c5b1418d71fa9aefd3ae5c440be2afc1f9467808aa66d3b850a4d54c81e4d.json +++ b/.sqlx/query-db59a239bac6f5ceaad4396dfe6c2c933a7189dbf8da5f555b94148db1b0667f.json @@ -1,12 +1,12 @@ { "db_name": "MySQL", - "query": "\n INSERT INTO model_weights\n SET\n token = ?,\n weights_type = ?,\n weights_category = ?,\n title = ?,\n maybe_description_markdown = ?,\n maybe_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 ", + "query": "\n INSERT INTO model_weights\n SET\n token = ?,\n weights_type = ?,\n weights_category = ?,\n title = ?,\n maybe_description_markdown = ?,\n maybe_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 version = ?\n ", "describe": { "columns": [], "parameters": { - "Right": 22 + "Right": 18 }, "nullable": [] }, - "hash": "a18c5b1418d71fa9aefd3ae5c440be2afc1f9467808aa66d3b850a4d54c81e4d" + "hash": "db59a239bac6f5ceaad4396dfe6c2c933a7189dbf8da5f555b94148db1b0667f" } diff --git a/.sqlx/query-e3bbd9cb8a0b8fdb74fcb809ea63709740a04ab936e47f5641af0eaf3e0fd339.json b/.sqlx/query-e3bbd9cb8a0b8fdb74fcb809ea63709740a04ab936e47f5641af0eaf3e0fd339.json new file mode 100644 index 0000000000..310a549424 --- /dev/null +++ b/.sqlx/query-e3bbd9cb8a0b8fdb74fcb809ea63709740a04ab936e47f5641af0eaf3e0fd339.json @@ -0,0 +1,12 @@ +{ + "db_name": "MySQL", + "query": "\n INSERT INTO entity_stats SET\n entity_type = ?,\n entity_token = ?,\n bookmark_count = 0\n ON DUPLICATE KEY UPDATE\n bookmark_count = ABS(CAST(bookmark_count AS SIGNED) - 1)\n ", + "describe": { + "columns": [], + "parameters": { + "Right": 2 + }, + "nullable": [] + }, + "hash": "e3bbd9cb8a0b8fdb74fcb809ea63709740a04ab936e47f5641af0eaf3e0fd339" +} diff --git a/.sqlx/query-f9f52bf39daf43a8e6e9617282bf9bc83a62d53b69ab36a8429576c03d5c18d7.json b/.sqlx/query-f9f52bf39daf43a8e6e9617282bf9bc83a62d53b69ab36a8429576c03d5c18d7.json new file mode 100644 index 0000000000..d865386547 --- /dev/null +++ b/.sqlx/query-f9f52bf39daf43a8e6e9617282bf9bc83a62d53b69ab36a8429576c03d5c18d7.json @@ -0,0 +1,25 @@ +{ + "db_name": "MySQL", + "query": "\nSELECT\n COUNT(*) as positive_count\nFROM\n user_ratings\nWHERE\n entity_type = ?\n AND entity_token = ?\n AND rating_value = 'positive'\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "positive_count", + "type_info": { + "type": "LongLong", + "flags": "NOT_NULL | BINARY", + "char_set": 63, + "max_size": 21 + } + } + ], + "parameters": { + "Right": 2 + }, + "nullable": [ + false + ] + }, + "hash": "f9f52bf39daf43a8e6e9617282bf9bc83a62d53b69ab36a8429576c03d5c18d7" +} diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/user_bookmarks/delete_user_bookmark_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/user_bookmarks/delete_user_bookmark_handler.rs index 5a0e77170b..5b3fd42eb1 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/user_bookmarks/delete_user_bookmark_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/user_bookmarks/delete_user_bookmark_handler.rs @@ -142,7 +142,7 @@ pub async fn delete_user_bookmark_handler( &mut *transaction, ).await; - // Decrement only if we're deleting for the first time + // Decrement only if we're deleting a non-deleted bookmark let decrement_bookmark_count = user_bookmark.maybe_deleted_at.is_none(); if decrement_bookmark_count {