From f327dfcdbb372940d5796c8e6a98cab8b00ddbc2 Mon Sep 17 00:00:00 2001 From: Michael Chung Date: Wed, 6 Dec 2023 23:27:34 -0500 Subject: [PATCH] Builds and docs work --- .../web/storyteller_web/src/api_doc.rs | 3 +++ .../weights/list_available_weights.rs | 4 +++- .../endpoints/weights/list_weights_by_user.rs | 21 +++++++++++++++---- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/crates/service/web/storyteller_web/src/api_doc.rs b/crates/service/web/storyteller_web/src/api_doc.rs index 40c351e55c..178e8871ae 100644 --- a/crates/service/web/storyteller_web/src/api_doc.rs +++ b/crates/service/web/storyteller_web/src/api_doc.rs @@ -18,12 +18,14 @@ use enums::common::visibility::Visibility; use chrono::{DateTime, Utc}; use utoipa::OpenApi; + #[derive(OpenApi)] #[openapi(paths(crate::http_server::endpoints::voice_designer::inference::enqueue_tts_request::enqueue_tts_request, crate::http_server::endpoints::weights::list_available_weights::list_available_weights_handler, crate::http_server::endpoints::weights::delete_weight::delete_weight_handler, crate::http_server::endpoints::weights::update_weight::update_weight_handler, crate::http_server::endpoints::weights::get_weight::get_weight_handler, + crate::http_server::endpoints::weights::list_weights_by_user::list_weights_by_user_handler ),components(schemas( // Tokens UserToken,Visibility, @@ -38,6 +40,7 @@ use utoipa::OpenApi; DeleteWeightPathInfo,DeleteWeightRequest,DeleteWeightError,DeleteWeightRequest,DeleteWeightError, ListWeightError,ModelWeightForList,ListWeightError, ListAvailableWeightsQuery,ListAvailableWeightsSuccessResponse,ModelWeightForList, + ListWeightsByUserError,ListWeightsByUserSuccessResponse,ListWeightsByUserPathInfo,Weight )))] pub struct ApiDoc; diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/weights/list_available_weights.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/weights/list_available_weights.rs index f9e8d7f367..c41e38de99 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/weights/list_available_weights.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/weights/list_available_weights.rs @@ -106,7 +106,7 @@ impl ResponseError for ListWeightError { #[utoipa::path( get, - path = "/v1/weights/list/", + path = "/v1/weights/list", responses( (status = 200, description = "List Weights", body = ListAvailableWeightsSuccessResponse), (status = 401, description = "Not authorized", body = ListWeightError), @@ -139,6 +139,8 @@ pub async fn list_available_weights_handler( return Err(ListWeightError::NotAuthorized); } }; + let page_size: u16 = 10; + let page_index : u16 = 0; let limit = query.page_size; diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/weights/list_weights_by_user.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/weights/list_weights_by_user.rs index c478ea68d9..364a14fdde 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/weights/list_weights_by_user.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/weights/list_weights_by_user.rs @@ -14,8 +14,9 @@ use tokens::tokens::model_weights::ModelWeightToken; use crate::http_server::common_responses::user_details_lite::UserDetailsLight; use crate::server_state::ServerState; +use utoipa::ToSchema; -#[derive(Serialize, Clone)] +#[derive(Serialize, Clone,ToSchema)] pub struct Weight { weight_token: ModelWeightToken, title: String, @@ -41,18 +42,18 @@ pub struct Weight { } -#[derive(Serialize)] +#[derive(Serialize,ToSchema)] pub struct ListWeightsByUserSuccessResponse { pub success: bool, pub weights: Vec, } -#[derive(Deserialize)] +#[derive(Deserialize,ToSchema)] pub struct ListWeightsByUserPathInfo { username: String, } -#[derive(Debug)] +#[derive(Debug,ToSchema)] pub enum ListWeightsByUserError { NotAuthorized, ServerError, @@ -73,6 +74,18 @@ impl ResponseError for ListWeightsByUserError { } } +#[utoipa::path( + get, + path = "/v1/weights/by_user/{username}", + responses( + (status = 200, description = "List Weights by user", body = ListWeightsByUserSuccessResponse), + (status = 401, description = "Not authorized", body = ListWeightsByUserError), + (status = 500, description = "Server error", body = ListWeightsByUserError), + ), + params( + ("path" = ListWeightsByUserPathInfo, description = "Payload for Request"), + ) +)] pub async fn list_weights_by_user_handler( http_request: HttpRequest, path: Path,