From c1544535df35f67fadb4929ccabc18ec4a55969c Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 7 Jul 2024 23:54:21 -0400 Subject: [PATCH] consolidate pathinfo type --- .../service/web/storyteller_web/src/docs/api_doc.rs | 9 ++++----- .../common_requests/media_file_token_path_info.rs | 8 ++++++++ .../src/http_server/common_requests/mod.rs | 1 + .../change_media_file_animation_type_handler.rs | 11 +++-------- .../change_media_file_engine_category_handler.rs | 11 +++-------- .../edit/change_media_file_visibility_handler.rs | 13 ++++--------- .../media_files/edit/rename_media_file_handler.rs | 12 +++--------- .../edit/set_media_file_cover_image_handler.rs | 12 +++--------- .../web/storyteller_web/src/http_server/mod.rs | 1 + 9 files changed, 30 insertions(+), 48 deletions(-) create mode 100644 crates/service/web/storyteller_web/src/http_server/common_requests/media_file_token_path_info.rs create mode 100644 crates/service/web/storyteller_web/src/http_server/common_requests/mod.rs diff --git a/crates/service/web/storyteller_web/src/docs/api_doc.rs b/crates/service/web/storyteller_web/src/docs/api_doc.rs index 4e4702db10..15ca23ff2c 100644 --- a/crates/service/web/storyteller_web/src/docs/api_doc.rs +++ b/crates/service/web/storyteller_web/src/docs/api_doc.rs @@ -37,6 +37,7 @@ use tokens::tokens::user_bookmarks::*; use tokens::tokens::users::*; use tokens::tokens::zs_voice_datasets::*; +use crate::http_server::common_requests::media_file_token_path_info::MediaFileTokenPathInfo; use crate::http_server::common_responses::media_file_cover_image_details::MediaFileCoverImageDetails; use crate::http_server::common_responses::media_file_cover_image_details::MediaFileDefaultCover; use crate::http_server::common_responses::media_file_origin_details::*; @@ -244,6 +245,9 @@ use crate::http_server::web_utils::response_success_helpers::*; WeightsCategory, WeightsType, + // Common path info + MediaFileTokenPathInfo, + // Common response structs MediaFileModelDetails, MediaFileOriginDetails, @@ -287,13 +291,10 @@ use crate::http_server::web_utils::response_success_helpers::*; BetaKeyItem, BookmarkRow, ChangeMediaFileAnimationTypeError, - ChangeMediaFileAnimationTypePathInfo, ChangeMediaFileAnimationTypeRequest, ChangeMediaFileEngineCategoryError, - ChangeMediaFileEngineCategoryPathInfo, ChangeMediaFileEngineCategoryRequest, ChangeMediaFileVisibilityError, - ChangeMediaFileVisibilityPathInfo, ChangeMediaFileVisibilityRequest, CreateBetaKeysError, CreateBetaKeysRequest, @@ -467,7 +468,6 @@ use crate::http_server::web_utils::response_success_helpers::*; RedeemBetaKeyRequest, RedeemBetaKeySuccessResponse, RenameMediaFileError, - RenameMediaFilePathInfo, RenameMediaFileRequest, RequestDetailsResponse, ResultDetailsResponse, @@ -478,7 +478,6 @@ use crate::http_server::web_utils::response_success_helpers::*; SessionInfoSuccessResponse, SessionUserInfo, SetMediaFileCoverImageError, - SetMediaFileCoverImagePathInfo, SetMediaFileCoverImageRequest, SetModelWeightCoverImageError, SetModelWeightCoverImagePathInfo, diff --git a/crates/service/web/storyteller_web/src/http_server/common_requests/media_file_token_path_info.rs b/crates/service/web/storyteller_web/src/http_server/common_requests/media_file_token_path_info.rs new file mode 100644 index 0000000000..470e3f94f4 --- /dev/null +++ b/crates/service/web/storyteller_web/src/http_server/common_requests/media_file_token_path_info.rs @@ -0,0 +1,8 @@ +use utoipa::ToSchema; +use tokens::tokens::media_files::MediaFileToken; + +/// Media File Token in URL PathInfo +#[derive(Deserialize, ToSchema)] +pub struct MediaFileTokenPathInfo { + pub token: MediaFileToken, +} diff --git a/crates/service/web/storyteller_web/src/http_server/common_requests/mod.rs b/crates/service/web/storyteller_web/src/http_server/common_requests/mod.rs new file mode 100644 index 0000000000..8970719a88 --- /dev/null +++ b/crates/service/web/storyteller_web/src/http_server/common_requests/mod.rs @@ -0,0 +1 @@ +pub mod media_file_token_path_info; \ No newline at end of file diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/change_media_file_animation_type_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/change_media_file_animation_type_handler.rs index d11871c84f..efff865804 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/change_media_file_animation_type_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/change_media_file_animation_type_handler.rs @@ -16,6 +16,7 @@ use mysql_queries::queries::media_files::edit::update_media_file_animation_type: use mysql_queries::queries::media_files::get::get_media_file::get_media_file; use tokens::tokens::media_files::MediaFileToken; +use crate::http_server::common_requests::media_file_token_path_info::MediaFileTokenPathInfo; use crate::http_server::common_responses::simple_response::SimpleResponse; use crate::http_server::web_utils::require_user_session::require_user_session; use crate::state::server_state::ServerState; @@ -27,12 +28,6 @@ pub struct ChangeMediaFileAnimationTypeRequest { pub maybe_animation_type: Option, } -/// For the URL PathInfo -#[derive(Deserialize, ToSchema)] -pub struct ChangeMediaFileAnimationTypePathInfo { - token: MediaFileToken, -} - // =============== Error Response =============== #[derive(Debug, Serialize, ToSchema)] @@ -82,12 +77,12 @@ impl fmt::Display for ChangeMediaFileAnimationTypeError { ), params( ("request" = ChangeMediaFileAnimationTypeRequest, description = "Payload for Request"), - ("path" = ChangeMediaFileAnimationTypePathInfo, description = "Path for Request") + ("path" = MediaFileTokenPathInfo, description = "Path for Request") ) )] pub async fn change_media_file_animation_type_handler( http_request: HttpRequest, - path: Path, + path: Path, request: Json, server_state: web::Data> ) -> Result, ChangeMediaFileAnimationTypeError> { diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/change_media_file_engine_category_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/change_media_file_engine_category_handler.rs index 1a03b34ddf..b3feeeccad 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/change_media_file_engine_category_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/change_media_file_engine_category_handler.rs @@ -15,6 +15,7 @@ use mysql_queries::queries::media_files::edit::update_media_file_engine_category use mysql_queries::queries::media_files::get::get_media_file::get_media_file; use tokens::tokens::media_files::MediaFileToken; +use crate::http_server::common_requests::media_file_token_path_info::MediaFileTokenPathInfo; use crate::http_server::common_responses::simple_response::SimpleResponse; use crate::http_server::web_utils::require_user_session::require_user_session; use crate::state::server_state::ServerState; @@ -24,12 +25,6 @@ pub struct ChangeMediaFileEngineCategoryRequest { pub engine_category: MediaFileEngineCategory, } -/// For the URL PathInfo -#[derive(Deserialize, ToSchema)] -pub struct ChangeMediaFileEngineCategoryPathInfo { - token: MediaFileToken, -} - // =============== Error Response =============== #[derive(Debug, Serialize, ToSchema)] @@ -79,12 +74,12 @@ impl fmt::Display for ChangeMediaFileEngineCategoryError { ), params( ("request" = ChangeMediaFileEngineCategoryRequest, description = "Payload for Request"), - ("path" = ChangeMediaFileEngineCategoryPathInfo, description = "Path for Request") + ("path" = MediaFileTokenPathInfo, description = "Path for Request") ) )] pub async fn change_media_file_engine_category_handler( http_request: HttpRequest, - path: Path, + path: Path, request: Json, server_state: web::Data> ) -> Result, ChangeMediaFileEngineCategoryError> { diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/change_media_file_visibility_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/change_media_file_visibility_handler.rs index 1436fc0d7c..053681d7b2 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/change_media_file_visibility_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/change_media_file_visibility_handler.rs @@ -16,6 +16,7 @@ use mysql_queries::queries::media_files::edit::update_media_file_visibility::{up use mysql_queries::queries::media_files::get::get_media_file::get_media_file; use tokens::tokens::media_files::MediaFileToken; +use crate::http_server::common_requests::media_file_token_path_info::MediaFileTokenPathInfo; use crate::state::server_state::ServerState; #[derive(Deserialize, ToSchema)] @@ -23,12 +24,6 @@ pub struct ChangeMediaFileVisibilityRequest { pub creator_set_visibility: Option, } -/// For the URL PathInfo -#[derive(Deserialize, ToSchema)] -pub struct ChangeMediaFileVisibilityPathInfo { - token: MediaFileToken, -} - // =============== Error Response =============== #[derive(Debug, Serialize, ToSchema)] @@ -69,19 +64,19 @@ impl fmt::Display for ChangeMediaFileVisibilityError { tag = "Media Files", path = "/v1/media_files/visibility/{token}", responses( - (status = 200, description = "Success Delete", body = SimpleGenericJsonSuccess), + (status = 200, description = "Success", body = SimpleGenericJsonSuccess), (status = 400, description = "Bad input", body = ChangeMediaFileVisibilityError), (status = 401, description = "Not authorized", body = ChangeMediaFileVisibilityError), (status = 500, description = "Server error", body = ChangeMediaFileVisibilityError), ), params( ("request" = ChangeMediaFileVisibilityRequest, description = "Payload for Request"), - ("path" = ChangeMediaFileVisibilityPathInfo, description = "Path for Request") + ("path" = MediaFileTokenPathInfo, description = "Path for Request") ) )] pub async fn change_media_file_visibility_handler( http_request: HttpRequest, - path: Path, + path: Path, request: web::Json, server_state: web::Data>) -> Result { diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/rename_media_file_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/rename_media_file_handler.rs index 99e185fc98..328794f7dc 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/rename_media_file_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/rename_media_file_handler.rs @@ -12,7 +12,7 @@ use http_server_common::response::serialize_as_json_error::serialize_as_json_err use mysql_queries::queries::media_files::edit::rename_media_file::rename_media_file; use mysql_queries::queries::media_files::get::get_media_file::get_media_file; use tokens::tokens::media_files::MediaFileToken; - +use crate::http_server::common_requests::media_file_token_path_info::MediaFileTokenPathInfo; use crate::http_server::web_utils::response_success_helpers::simple_json_success; use crate::state::server_state::ServerState; use crate::util::delete_role_disambiguation::{delete_role_disambiguation, DeleteRole}; @@ -24,12 +24,6 @@ pub struct RenameMediaFileRequest { name: Option, } -/// For the URL PathInfo -#[derive(Deserialize, ToSchema)] -pub struct RenameMediaFilePathInfo { - token: MediaFileToken, -} - // =============== Error Response =============== #[derive(Debug, Serialize, ToSchema)] @@ -77,12 +71,12 @@ impl fmt::Display for RenameMediaFileError { ), params( ("request" = RenameMediaFileRequest, description = "Payload for Request"), - ("path" = RenameMediaFilePathInfo, description = "Path for Request") + ("path" = MediaFileTokenPathInfo, description = "Path for Request") ) )] pub async fn rename_media_file_handler( http_request: HttpRequest, - path: Path, + path: Path, request: web::Json, server_state: web::Data> ) -> Result{ diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/set_media_file_cover_image_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/set_media_file_cover_image_handler.rs index 30b42ab28c..d834815b68 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/set_media_file_cover_image_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/media_files/edit/set_media_file_cover_image_handler.rs @@ -15,6 +15,7 @@ use mysql_queries::queries::media_files::edit::set_media_file_cover_image::{set_ use mysql_queries::queries::media_files::get::get_media_file::get_media_file; use tokens::tokens::media_files::MediaFileToken; +use crate::http_server::common_requests::media_file_token_path_info::MediaFileTokenPathInfo; use crate::http_server::endpoints::weights::set_model_weight_cover_image_handler::SetModelWeightCoverImageError; use crate::http_server::web_utils::response_success_helpers::simple_json_success; use crate::state::server_state::ServerState; @@ -27,13 +28,6 @@ pub struct SetMediaFileCoverImageRequest { cover_image_media_file_token: Option, } -/// For the URL PathInfo -#[derive(Deserialize, ToSchema)] -pub struct SetMediaFileCoverImagePathInfo { - /// The media file we're applying the cover image to. - token: MediaFileToken, -} - // =============== Error Response =============== #[derive(Debug, Serialize, ToSchema)] @@ -84,12 +78,12 @@ impl fmt::Display for SetMediaFileCoverImageError { ), params( ("request" = SetMediaFileCoverImageRequest, description = "Payload for Request"), - ("path" = SetMediaFileCoverImagePathInfo, description = "Path for Request") + ("path" = MediaFileTokenPathInfo, description = "Path for Request") ) )] pub async fn set_media_file_cover_image_handler( http_request: HttpRequest, - path: Path, + path: Path, request: web::Json, server_state: web::Data> ) -> Result{ diff --git a/crates/service/web/storyteller_web/src/http_server/mod.rs b/crates/service/web/storyteller_web/src/http_server/mod.rs index 32fa563a6c..206ef4e3f6 100644 --- a/crates/service/web/storyteller_web/src/http_server/mod.rs +++ b/crates/service/web/storyteller_web/src/http_server/mod.rs @@ -1,3 +1,4 @@ +pub mod common_requests; pub mod common_responses; pub mod cookies; pub mod endpoints;