document endpoints
This commit is contained in:
1 parent
bf538b55d1
commit
deb0ebc5e9
2 files changed
+27
-5
No files matched your search
@@ -133,6 +133,7 @@ use crate::http_server::endpoints::users::login_handler::*;
|
||||
use crate::http_server::endpoints::users::logout_handler::*;
|
||||
use crate::http_server::endpoints::users::session_info_handler::*;
|
||||
use crate::http_server::endpoints::users::create_account_from_google_sign_in_handler::*;
|
||||
use crate::http_server::endpoints::users::create_account_handler::*;
|
||||
use crate::http_server::endpoints::users::session_token_info_handler::*;
|
||||
use crate::http_server::endpoints::voice_conversion::enqueue_voice_conversion_inference_handler::*;
|
||||
use crate::http_server::endpoints::voice_designer::inference::enqueue_tts_request::*;
|
||||
@@ -213,6 +214,7 @@ use crate::http_server::web_utils::response_success_helpers::*;
|
||||
crate::http_server::endpoints::moderation::user_feature_flags::edit_user_feature_flags_handler::edit_user_feature_flags_handler,
|
||||
crate::http_server::endpoints::prompts::get_prompt_handler::get_prompt_handler,
|
||||
crate::http_server::endpoints::service::status_alert_handler::status_alert_handler,
|
||||
crate::http_server::endpoints::users::create_account_handler::create_account_handler,
|
||||
crate::http_server::endpoints::stats::get_unified_queue_stats_handler::get_unified_queue_stats_handler,
|
||||
crate::http_server::endpoints::tts::enqueue_infer_tts_handler::enqueue_infer_tts_handler::enqueue_infer_tts_handler,
|
||||
crate::http_server::endpoints::user_bookmarks::batch_get_user_bookmarks_handler::batch_get_user_bookmarks_handler,
|
||||
@@ -353,6 +355,11 @@ use crate::http_server::web_utils::response_success_helpers::*;
|
||||
GoogleCreateAccountRequest,
|
||||
GoogleCreateAccountErrorResponse,
|
||||
GoogleCreateAccountSuccessResponse,
|
||||
GoogleCreateAccountErrorType,
|
||||
CreateAccountRequest,
|
||||
CreateAccountErrorResponse,
|
||||
CreateAccountErrorType,
|
||||
CreateAccountSuccessResponse,
|
||||
ChangeMediaFileEngineCategoryError,
|
||||
ChangeMediaFileEngineCategoryRequest,
|
||||
ChangeMediaFileVisibilityError,
|
||||
|
||||
+20
-5
@@ -12,7 +12,7 @@ use actix_web::error::ResponseError;
|
||||
use actix_web::http::StatusCode;
|
||||
use log::{info, warn};
|
||||
use sqlx::MySqlPool;
|
||||
|
||||
use utoipa::ToSchema;
|
||||
use actix_helpers::extractors::get_request_origin_uri::get_request_origin_uri;
|
||||
use http_server_common::request::get_request_ip::get_request_ip;
|
||||
use http_server_common::response::serialize_as_json_error::serialize_as_json_error;
|
||||
@@ -30,7 +30,7 @@ use crate::http_server::validations::validate_username::validate_username;
|
||||
use crate::util::email_to_gravatar::email_to_gravatar;
|
||||
use crate::util::enroll_in_studio::enroll_in_studio;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[derive(ToSchema, Deserialize)]
|
||||
pub struct CreateAccountRequest {
|
||||
pub username: String,
|
||||
pub password: String,
|
||||
@@ -38,7 +38,7 @@ pub struct CreateAccountRequest {
|
||||
pub email_address: String,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
#[derive(ToSchema, Serialize)]
|
||||
pub struct CreateAccountSuccessResponse {
|
||||
pub success: bool,
|
||||
|
||||
@@ -48,14 +48,14 @@ pub struct CreateAccountSuccessResponse {
|
||||
pub signed_session: String,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Debug)]
|
||||
#[derive(ToSchema, Serialize, Debug)]
|
||||
pub struct CreateAccountErrorResponse {
|
||||
pub success: bool,
|
||||
pub error_type: CreateAccountErrorType,
|
||||
pub error_fields: HashMap<String, String>,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, Serialize)]
|
||||
#[derive(ToSchema, Copy, Clone, Debug, Serialize)]
|
||||
pub enum CreateAccountErrorType {
|
||||
BadRequest, // Other request malformed errors, eg. bad Origin header
|
||||
BadInput,
|
||||
@@ -107,6 +107,21 @@ impl ResponseError for CreateAccountErrorResponse {
|
||||
}
|
||||
}
|
||||
|
||||
/// Create a new account with username and password
|
||||
#[utoipa::path(
|
||||
post,
|
||||
tag = "Users",
|
||||
path = "/v1/create_account",
|
||||
responses(
|
||||
(status = 200, description = "Success", body = CreateAccountSuccessResponse),
|
||||
(status = 400, description = "Bad input", body = CreateAccountErrorResponse),
|
||||
(status = 401, description = "Not authorized", body = CreateAccountErrorResponse),
|
||||
(status = 500, description = "Server error", body = CreateAccountErrorResponse),
|
||||
),
|
||||
params(
|
||||
("request" = CreateAccountRequest, description = "Payload for Request"),
|
||||
)
|
||||
)]
|
||||
pub async fn create_account_handler(
|
||||
http_request: HttpRequest,
|
||||
request: web::Json<CreateAccountRequest>,
|
||||
|
||||
Reference in new issue
Block a user