From 3cc0da13de9f6d677819ea0c4017aec040dbf5a5 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Thu, 15 Feb 2024 10:39:33 -0500 Subject: [PATCH] transcripts on list endpoints --- .../src/queries/media_files/list/list_media_files.rs | 9 +++++++++ .../media_files/list/list_media_files_by_tokens.rs | 12 ++++++++++++ .../media_files/list/list_media_files_for_user.rs | 10 ++++++++++ .../media_files/list_featured_media_files.rs | 4 ++++ .../endpoints/media_files/list_media_files.rs | 4 ++++ .../media_files/list_media_files_for_user.rs | 4 ++++ 6 files changed, 43 insertions(+) diff --git a/crates/lib/mysql_queries/src/queries/media_files/list/list_media_files.rs b/crates/lib/mysql_queries/src/queries/media_files/list/list_media_files.rs index 2516c2d0cc..a48233ad05 100644 --- a/crates/lib/mysql_queries/src/queries/media_files/list/list_media_files.rs +++ b/crates/lib/mysql_queries/src/queries/media_files/list/list_media_files.rs @@ -47,6 +47,8 @@ pub struct MediaFileListItem { pub maybe_creator_display_name: Option, pub maybe_creator_gravatar_hash: Option, + pub maybe_text_transcript: Option, + pub creator_set_visibility: Visibility, #[deprecated(note = "more expensive to query")] @@ -111,6 +113,7 @@ pub async fn list_media_files(args: ListMediaFilesArgs<'_>) -> AnyhowResult, maybe_bookmark_count: Option, + maybe_text_transcript: Option, + created_at: DateTime, updated_at: DateTime, } @@ -346,6 +354,7 @@ impl FromRow<'_, MySqlRow> for MediaFileListItemInternal { maybe_creator_display_name: row.try_get("maybe_creator_display_name")?, maybe_creator_gravatar_hash: row.try_get("maybe_creator_gravatar_hash")?, creator_set_visibility: Visibility::try_from_mysql_row(row, "creator_set_visibility")?, + maybe_text_transcript: row.try_get("maybe_text_transcript")?, created_at: row.try_get("created_at")?, updated_at: row.try_get("updated_at")?, comment_count: row.try_get("comment_count")?, diff --git a/crates/lib/mysql_queries/src/queries/media_files/list/list_media_files_by_tokens.rs b/crates/lib/mysql_queries/src/queries/media_files/list/list_media_files_by_tokens.rs index 76a7ab510b..008922fc9c 100644 --- a/crates/lib/mysql_queries/src/queries/media_files/list/list_media_files_by_tokens.rs +++ b/crates/lib/mysql_queries/src/queries/media_files/list/list_media_files_by_tokens.rs @@ -39,6 +39,9 @@ pub struct MediaFilesByTokensRecord { pub maybe_ratings_negative_count: Option, pub maybe_bookmark_count: Option, + /// Text transcripts for TTS, etc. + pub maybe_text_transcript: Option, + pub created_at: DateTime, pub updated_at: DateTime, } @@ -87,6 +90,8 @@ async fn get_raw_media_files_by_tokens( m.maybe_public_bucket_prefix, m.maybe_public_bucket_extension, + m.maybe_text_transcript, + entity_stats.ratings_positive_count as maybe_ratings_positive_count, entity_stats.ratings_negative_count as maybe_ratings_negative_count, entity_stats.bookmark_count as maybe_bookmark_count, @@ -131,6 +136,8 @@ async fn get_raw_media_files_by_tokens( m.maybe_public_bucket_prefix, m.maybe_public_bucket_extension, + m.maybe_text_transcript, + entity_stats.ratings_positive_count as maybe_ratings_positive_count, entity_stats.ratings_negative_count as maybe_ratings_negative_count, entity_stats.bookmark_count as maybe_bookmark_count, @@ -204,6 +211,8 @@ fn map_to_media_files(dataset:Vec) -> Vec) -> Vec, pub maybe_bookmark_count: Option, + pub maybe_text_transcript: Option, + pub created_at: DateTime, pub updated_at: DateTime, } @@ -276,6 +287,7 @@ impl FromRow<'_, MySqlRow> for RawMediaFileJoinUser { maybe_ratings_positive_count: row.try_get("maybe_ratings_positive_count")?, maybe_ratings_negative_count: row.try_get("maybe_ratings_negative_count")?, maybe_bookmark_count: row.try_get("maybe_bookmark_count")?, + maybe_text_transcript: row.try_get("maybe_text_transcript")?, created_at: row.try_get("created_at")?, updated_at: row.try_get("updated_at")?, }) diff --git a/crates/lib/mysql_queries/src/queries/media_files/list/list_media_files_for_user.rs b/crates/lib/mysql_queries/src/queries/media_files/list/list_media_files_for_user.rs index fbf6c917a9..d8427b3dd8 100644 --- a/crates/lib/mysql_queries/src/queries/media_files/list/list_media_files_for_user.rs +++ b/crates/lib/mysql_queries/src/queries/media_files/list/list_media_files_for_user.rs @@ -40,6 +40,9 @@ pub struct MediaFileListItem { pub creator_set_visibility: Visibility, + /// Text transcripts for TTS, etc. + pub maybe_text_transcript: Option, + pub maybe_ratings_positive_count: Option, pub maybe_ratings_negative_count: Option, pub maybe_bookmark_count: Option, @@ -107,6 +110,7 @@ pub async fn list_media_files_for_user(args: ListMediaFileForUserArgs<'_>) -> An maybe_public_bucket_prefix: record.maybe_public_bucket_prefix, maybe_public_bucket_extension: record.maybe_public_bucket_extension, creator_set_visibility: record.creator_set_visibility, + maybe_text_transcript: record.maybe_text_transcript, maybe_ratings_positive_count: record.maybe_ratings_positive_count, maybe_ratings_negative_count: record.maybe_ratings_negative_count, maybe_bookmark_count: record.maybe_bookmark_count, @@ -146,6 +150,8 @@ fn select_result_fields() -> String { m.creator_set_visibility, + m.maybe_text_transcript, + entity_stats.ratings_positive_count as maybe_ratings_positive_count, entity_stats.ratings_negative_count as maybe_ratings_negative_count, entity_stats.bookmark_count as maybe_bookmark_count, @@ -250,6 +256,9 @@ struct MediaFileListItemInternal { creator_set_visibility: Visibility, + /// Text transcripts for TTS, etc. + maybe_text_transcript: Option, + maybe_ratings_positive_count: Option, maybe_ratings_negative_count: Option, maybe_bookmark_count: Option, @@ -285,6 +294,7 @@ impl FromRow<'_, MySqlRow> for MediaFileListItemInternal { maybe_public_bucket_prefix: row.try_get("maybe_public_bucket_prefix")?, maybe_public_bucket_extension: row.try_get("maybe_public_bucket_extension")?, creator_set_visibility: Visibility::try_from_mysql_row(row, "creator_set_visibility")?, + maybe_text_transcript: row.try_get("maybe_text_transcript")?, maybe_ratings_positive_count: row.try_get("maybe_ratings_positive_count")?, maybe_ratings_negative_count: row.try_get("maybe_ratings_negative_count")?, maybe_bookmark_count: row.try_get("maybe_bookmark_count")?, diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/list_featured_media_files.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/list_featured_media_files.rs index 641f4a196c..aaf9adb9c2 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/list_featured_media_files.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/list_featured_media_files.rs @@ -55,6 +55,9 @@ pub struct MediaFile { pub maybe_creator: Option, + /// Text transcripts for TTS, etc. + pub maybe_text_transcript: Option, + /// Statistics about the media file pub stats: SimpleEntityStats, @@ -169,6 +172,7 @@ pub async fn list_featured_media_files_handler( m.maybe_creator_display_name, m.maybe_creator_email_gravatar_hash ), + maybe_text_transcript: m.maybe_text_transcript, stats: SimpleEntityStats { positive_rating_count: m.maybe_ratings_positive_count.unwrap_or(0), bookmark_count: m.maybe_bookmark_count.unwrap_or(0), diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/list_media_files.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/list_media_files.rs index 2410090d66..833b7d26ae 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/list_media_files.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/list_media_files.rs @@ -73,6 +73,9 @@ pub struct MediaFileListItem { pub creator_set_visibility: Visibility, + /// Text transcripts for TTS, etc. + pub maybe_text_transcript: Option, + pub created_at: DateTime, pub updated_at: DateTime, } @@ -242,6 +245,7 @@ pub async fn list_media_files_handler( bookmark_count: record.maybe_bookmark_count.unwrap_or(0), }, creator_set_visibility: record.creator_set_visibility, + maybe_text_transcript: record.maybe_text_transcript, created_at: record.created_at, updated_at: record.updated_at, }) diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/list_media_files_for_user.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/list_media_files_for_user.rs index 3db91881c9..c940678cec 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/list_media_files_for_user.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/list_media_files_for_user.rs @@ -71,6 +71,9 @@ pub struct MediaFileForUserListItem { pub creator_set_visibility: Visibility, + /// Text transcripts for TTS, etc. + pub maybe_text_transcript: Option, + /// Statistics about the media file pub stats: SimpleEntityStats, @@ -223,6 +226,7 @@ pub async fn list_media_files_for_user_handler( .get_full_object_path_str() .to_string(), creator_set_visibility: record.creator_set_visibility, + maybe_text_transcript: record.maybe_text_transcript, stats: SimpleEntityStats { positive_rating_count: record.maybe_ratings_positive_count.unwrap_or(0), bookmark_count: record.maybe_bookmark_count.unwrap_or(0),