mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-09 19:41:32 +00:00
refactor
This commit is contained in:
1 parent
916730d0a1
commit
b4ad2b72a5
9 files changed
+106
-98
No files matched your search
@@ -2,28 +2,10 @@ use actix_http::body::MessageBody;
|
||||
use actix_service::ServiceFactory;
|
||||
use actix_web::dev::{ServiceRequest, ServiceResponse};
|
||||
use actix_web::error::Error;
|
||||
use actix_web::{web, App, HttpResponse};
|
||||
use actix_web::App;
|
||||
|
||||
use actix_helpers::route_builder::RouteBuilder;
|
||||
use billing_component::default_routes::add_suggested_stripe_billing_routes;
|
||||
use reusable_types::server_environment::ServerEnvironment;
|
||||
|
||||
use crate::http_server::endpoints::app_state::get_app_state_handler::get_app_state_handler;
|
||||
use crate::http_server::endpoints::comments::create_comment_handler::create_comment_handler;
|
||||
use crate::http_server::endpoints::comments::delete_comment_handler::delete_comment_handler;
|
||||
use crate::http_server::endpoints::comments::list_comments_handler::list_comments_handler;
|
||||
use crate::http_server::endpoints::prompts::create_prompt_handler::create_prompt_handler;
|
||||
use crate::http_server::endpoints::prompts::get_prompt_handler::get_prompt_handler;
|
||||
use crate::http_server::endpoints::service::status_alert_handler::status_alert_handler;
|
||||
use crate::http_server::endpoints::stats::get_unified_queue_stats_handler::get_unified_queue_stats_handler;
|
||||
use crate::http_server::endpoints::user_bookmarks::batch_get_user_bookmarks_handler::batch_get_user_bookmarks_handler;
|
||||
use crate::http_server::endpoints::user_bookmarks::create_user_bookmark_handler::create_user_bookmark_handler;
|
||||
use crate::http_server::endpoints::user_bookmarks::delete_user_bookmark_handler::delete_user_bookmark_handler;
|
||||
use crate::http_server::endpoints::user_bookmarks::list_user_bookmarks_for_entity_handler::list_user_bookmarks_for_entity_handler;
|
||||
use crate::http_server::endpoints::user_bookmarks::list_user_bookmarks_for_user_handler::list_user_bookmarks_for_user_handler;
|
||||
use crate::http_server::endpoints::voice_conversion::enqueue_seed_vc_inference_handler::enqueue_infer_seed_vc_handler;
|
||||
use crate::http_server::endpoints::voice_conversion::enqueue_voice_conversion_inference_handler::enqueue_voice_conversion_inference_handler;
|
||||
use crate::http_server::endpoints::voice_conversion::list_voice_conversion_models_handler::list_voice_conversion_models_handler;
|
||||
use crate::http_server::routes::application_routes::add_application_routes::add_application_routes;
|
||||
use crate::http_server::routes::legacy_routes::add_legacy_routes::add_legacy_routes;
|
||||
use crate::http_server::routes::service_routes::add_service_routes;
|
||||
@@ -44,37 +26,6 @@ pub fn add_routes<T, B> (app: App<T>, server_environment: ServerEnvironment) ->
|
||||
app = add_legacy_routes(app); // various legacy routes, mostly deprecated
|
||||
app = add_application_routes(app); // Primary product service area routes
|
||||
app = add_service_routes(app); // Essential service routes (status, health, info, etc.)
|
||||
|
||||
|
||||
// ==================== Application State ====================
|
||||
|
||||
let mut app = RouteBuilder::from_app(app)
|
||||
.add_get("/v1/app_state", get_app_state_handler)
|
||||
.into_app();
|
||||
|
||||
// ==================== Prompts ====================
|
||||
|
||||
let mut app = RouteBuilder::from_app(app)
|
||||
// NB: This poor RouteBuilder utility requires that POST comes first, otherwise the GET glob
|
||||
// will capture it and force 504 Method Not Allowed for all POSTs.
|
||||
.add_post("/v1/prompts/create", create_prompt_handler)
|
||||
.add_get("/v1/prompts/{token}", get_prompt_handler)
|
||||
.into_app();
|
||||
|
||||
// ==================== Stats ====================
|
||||
|
||||
let mut app = RouteBuilder::from_app(app)
|
||||
.add_get("/v1/stats/queues", get_unified_queue_stats_handler)
|
||||
.into_app();
|
||||
|
||||
// ==================== Service Status ====================
|
||||
|
||||
let mut app = RouteBuilder::from_app(app)
|
||||
.add_get("/v1/status_alert_check", status_alert_handler)
|
||||
.into_app();
|
||||
|
||||
// ==================== COMPONENTS ====================
|
||||
|
||||
|
||||
app
|
||||
}
|
||||
|
||||
+6
-2
@@ -9,8 +9,10 @@ use crate::http_server::routes::application_routes::stripe_artcraft_routes::add_
|
||||
use crate::http_server::routes::application_routes::subscription_routes::add_subscription_routes;
|
||||
use crate::http_server::routes::application_routes::tag_routes::add_tag_routes;
|
||||
use crate::http_server::routes::application_routes::tts_routes::add_tts_routes;
|
||||
use crate::http_server::routes::application_routes::user_bookmarks_routes::add_user_bookmarks_routes;
|
||||
use crate::http_server::routes::application_routes::user_rating_routes::add_user_rating_routes;
|
||||
use crate::http_server::routes::application_routes::user_routes::add_user_routes;
|
||||
use crate::http_server::routes::application_routes::voice_conversion_routes::add_voice_conversion_routes;
|
||||
use crate::http_server::routes::application_routes::webhook_routes::add_webhook_routes;
|
||||
use crate::http_server::routes::application_routes::weights_routes::add_weights_routes;
|
||||
use actix_http::body::MessageBody;
|
||||
@@ -18,7 +20,7 @@ use actix_service::ServiceFactory;
|
||||
use actix_web::dev::{ServiceRequest, ServiceResponse};
|
||||
use actix_web::{App, Error};
|
||||
use billing_component::default_routes::add_suggested_stripe_billing_routes;
|
||||
use crate::http_server::routes::application_routes::user_bookmarks_routes::add_user_bookmarks_routes;
|
||||
use crate::http_server::routes::application_routes::prompts_routes::add_prompts_routes;
|
||||
|
||||
/// Add the core application routes.
|
||||
pub fn add_application_routes<T, B> (app: App<T>) -> App<T>
|
||||
@@ -42,11 +44,13 @@ where
|
||||
// Remaining FakeYou surface area
|
||||
app = add_tag_routes(app); // /v1/tags
|
||||
app = add_tts_routes(app); // /tts
|
||||
app = add_weights_routes(app);
|
||||
app = add_weights_routes(app); // v1/weights
|
||||
app = add_voice_conversion_routes(app); // /v1/voice_conversion
|
||||
|
||||
// Media files routes
|
||||
app = add_media_file_routes(app); // /v1/media_files/...
|
||||
app = add_featured_item_routes(app); // /v1/featured_item/...
|
||||
app = add_prompts_routes(app); // /v1/prompts/...
|
||||
|
||||
// Job system
|
||||
app = add_job_routes(app);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
mod comments_routes;
|
||||
mod credits_routes;
|
||||
mod featured_item_routes;
|
||||
mod generate_routes;
|
||||
@@ -8,10 +9,11 @@ mod stripe_artcraft_routes;
|
||||
mod subscription_routes;
|
||||
mod tag_routes;
|
||||
mod tts_routes;
|
||||
mod user_bookmarks_routes;
|
||||
mod user_rating_routes;
|
||||
mod user_routes;
|
||||
mod voice_conversion_routes;
|
||||
mod webhook_routes;
|
||||
mod weights_routes;
|
||||
pub (super) mod add_application_routes;
|
||||
mod comments_routes;
|
||||
mod user_bookmarks_routes;
|
||||
mod prompts_routes;
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
use crate::http_server::endpoints::prompts::create_prompt_handler::create_prompt_handler;
|
||||
use crate::http_server::endpoints::prompts::get_prompt_handler::get_prompt_handler;
|
||||
use actix_helpers::route_builder::RouteBuilder;
|
||||
use actix_http::body::MessageBody;
|
||||
use actix_service::ServiceFactory;
|
||||
use actix_web::dev::{ServiceRequest, ServiceResponse};
|
||||
use actix_web::error::Error;
|
||||
use actix_web::App;
|
||||
|
||||
pub fn add_prompts_routes<T, B> (app: App<T>) -> App<T>
|
||||
where
|
||||
B: MessageBody,
|
||||
T: ServiceFactory<
|
||||
ServiceRequest,
|
||||
Config = (),
|
||||
Response = ServiceResponse<B>,
|
||||
Error = Error,
|
||||
InitError = (),
|
||||
>,
|
||||
{
|
||||
RouteBuilder::from_app(app)
|
||||
// NB: This poor RouteBuilder utility requires that POST comes first, otherwise the GET glob
|
||||
// will capture it and force 504 Method Not Allowed for all POSTs.
|
||||
.add_post("/v1/prompts/create", create_prompt_handler)
|
||||
.add_get("/v1/prompts/{token}", get_prompt_handler)
|
||||
.into_app()
|
||||
}
|
||||
+1
-1
@@ -8,7 +8,7 @@ use crate::http_server::endpoints::voice_conversion::enqueue_seed_vc_inference_h
|
||||
use crate::http_server::endpoints::voice_conversion::enqueue_voice_conversion_inference_handler::enqueue_voice_conversion_inference_handler;
|
||||
use crate::http_server::endpoints::voice_conversion::list_voice_conversion_models_handler::list_voice_conversion_models_handler;
|
||||
|
||||
pub fn add_web_vc_routes<T, B> (app: App<T>) -> App<T>
|
||||
pub fn add_voice_conversion_routes<T, B> (app: App<T>) -> App<T>
|
||||
where
|
||||
B: MessageBody,
|
||||
T: ServiceFactory<
|
||||
+17
-40
@@ -26,10 +26,6 @@ use crate::http_server::deprecated_endpoints::media_uploads::upload_audio::uploa
|
||||
use crate::http_server::deprecated_endpoints::media_uploads::upload_image::upload_image_handler;
|
||||
use crate::http_server::deprecated_endpoints::media_uploads::upload_media::upload_media_handler;
|
||||
use crate::http_server::deprecated_endpoints::mocap::enqueue_mocapnet::enqueue_mocapnet_handler;
|
||||
use crate::http_server::deprecated_endpoints::stubs::app_model_downloads::get_app_model_downloads_handler;
|
||||
use crate::http_server::deprecated_endpoints::stubs::app_news::get_app_news_handler;
|
||||
use crate::http_server::deprecated_endpoints::stubs::app_plans::get_app_plans_handler;
|
||||
use crate::http_server::deprecated_endpoints::stubs::post_app_analytics::post_app_analytics_handler;
|
||||
use crate::http_server::deprecated_endpoints::vocoders::get_vocoder::get_vocoder_handler;
|
||||
use crate::http_server::deprecated_endpoints::vocoders::list_vocoders::list_vocoders_handler;
|
||||
use crate::http_server::deprecated_endpoints::w2l::delete_w2l_result::delete_w2l_inference_result_handler;
|
||||
@@ -73,10 +69,10 @@ use crate::http_server::endpoints::voice_designer::voices::search_voices::search
|
||||
use crate::http_server::endpoints::voice_designer::voices::update_voice::update_voice_handler;
|
||||
use crate::http_server::routes::legacy_routes::beta_key_routes::add_beta_key_routes;
|
||||
use crate::http_server::routes::legacy_routes::control_plane_sora_routes::add_control_plane_sora_routes;
|
||||
use crate::http_server::routes::legacy_routes::desktop_vc_app_routes::add_desktop_vc_app_routes;
|
||||
use crate::http_server::routes::legacy_routes::image_studio_routes::add_image_studio_routes;
|
||||
use crate::http_server::routes::legacy_routes::model_download_routes::add_model_download_routes;
|
||||
use crate::http_server::routes::legacy_routes::studio_gen2_routes::add_studio_gen2_routes;
|
||||
use crate::http_server::routes::legacy_routes::web_vc_routes::add_web_vc_routes;
|
||||
use crate::http_server::routes::legacy_routes::workflow_routes::add_workflow_routes;
|
||||
use actix_helpers::route_builder::RouteBuilder;
|
||||
use actix_http::body::MessageBody;
|
||||
@@ -84,6 +80,9 @@ use actix_service::ServiceFactory;
|
||||
use actix_web::dev::{ServiceRequest, ServiceResponse};
|
||||
use actix_web::error::Error;
|
||||
use actix_web::{web, App, HttpResponse};
|
||||
use crate::http_server::endpoints::app_state::get_app_state_handler::get_app_state_handler;
|
||||
use crate::http_server::endpoints::service::status_alert_handler::status_alert_handler;
|
||||
use crate::http_server::endpoints::stats::get_unified_queue_stats_handler::get_unified_queue_stats_handler;
|
||||
|
||||
pub fn add_legacy_routes<T, B> (app: App<T>) -> App<T>
|
||||
where
|
||||
@@ -108,13 +107,12 @@ where
|
||||
app = add_voice_designer_routes(app); // /v1/voice_designer
|
||||
app = add_beta_key_routes(app); // /v1/beta_keys
|
||||
app = add_model_download_routes(app);
|
||||
app = add_web_vc_routes(app); // /v1/voice_conversion
|
||||
app = add_studio_gen2_routes(app);
|
||||
app = add_image_studio_routes(app);
|
||||
app = add_control_plane_sora_routes(app); // /v1/control_plane/...
|
||||
app = add_workflow_routes(app);
|
||||
app = add_engine_routes(app); // /v1/engine/...
|
||||
app = add_desktop_app_routes(app); // /v1/vc/...
|
||||
app = add_desktop_vc_app_routes(app); // /v1/vc/...
|
||||
app = add_media_upload_routes(app); // /v1/media_upload/...
|
||||
app = add_trending_routes(app); // /v1/trending/...
|
||||
|
||||
@@ -149,6 +147,18 @@ where
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
);
|
||||
|
||||
// ==================== FakeYou Frontend Application State ====================
|
||||
|
||||
let mut app = RouteBuilder::from_app(app)
|
||||
.add_get("/v1/app_state", get_app_state_handler)
|
||||
.into_app();
|
||||
|
||||
// ==================== Stats ====================
|
||||
|
||||
let mut app = RouteBuilder::from_app(app)
|
||||
.add_get("/v1/stats/queues", get_unified_queue_stats_handler)
|
||||
.into_app();
|
||||
|
||||
let app = app.service(
|
||||
web::resource("/events")
|
||||
.route(web::get().to(list_events_handler))
|
||||
@@ -480,39 +490,6 @@ where
|
||||
)
|
||||
}
|
||||
|
||||
// ==================== DESKTOP APP ROUTES ====================
|
||||
|
||||
fn add_desktop_app_routes<T, B> (app: App<T>) -> App<T>
|
||||
where
|
||||
B: MessageBody,
|
||||
T: ServiceFactory<
|
||||
ServiceRequest,
|
||||
Config = (),
|
||||
Response = ServiceResponse<B>,
|
||||
Error = Error,
|
||||
InitError = (),
|
||||
>,
|
||||
{
|
||||
app.service(web::scope("/v1/vc")
|
||||
.service(web::resource("/report_analytics")
|
||||
.route(web::post().to(post_app_analytics_handler))
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
)
|
||||
.service(web::resource("/news")
|
||||
.route(web::get().to(get_app_news_handler))
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
)
|
||||
.service(web::resource("/features")
|
||||
.route(web::get().to(get_app_plans_handler))
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
)
|
||||
.service(web::resource("/downloads")
|
||||
.route(web::get().to(get_app_model_downloads_handler))
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
// ==================== MEDIA UPLOAD ROUTES ====================
|
||||
|
||||
fn add_media_upload_routes<T, B> (app: App<T>) -> App<T>
|
||||
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
use crate::http_server::deprecated_endpoints::stubs::app_model_downloads::get_app_model_downloads_handler;
|
||||
use crate::http_server::deprecated_endpoints::stubs::app_news::get_app_news_handler;
|
||||
use crate::http_server::deprecated_endpoints::stubs::app_plans::get_app_plans_handler;
|
||||
use crate::http_server::deprecated_endpoints::stubs::post_app_analytics::post_app_analytics_handler;
|
||||
use actix_http::body::MessageBody;
|
||||
use actix_service::ServiceFactory;
|
||||
use actix_web::dev::{ServiceRequest, ServiceResponse};
|
||||
use actix_web::error::Error;
|
||||
use actix_web::{web, App, HttpResponse};
|
||||
|
||||
pub fn add_desktop_vc_app_routes<T, B> (app: App<T>) -> App<T>
|
||||
where
|
||||
B: MessageBody,
|
||||
T: ServiceFactory<
|
||||
ServiceRequest,
|
||||
Config = (),
|
||||
Response = ServiceResponse<B>,
|
||||
Error = Error,
|
||||
InitError = (),
|
||||
>,
|
||||
{
|
||||
app.service(web::scope("/v1/vc")
|
||||
.service(web::resource("/report_analytics")
|
||||
.route(web::post().to(post_app_analytics_handler))
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
)
|
||||
.service(web::resource("/news")
|
||||
.route(web::get().to(get_app_news_handler))
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
)
|
||||
.service(web::resource("/features")
|
||||
.route(web::get().to(get_app_plans_handler))
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
)
|
||||
.service(web::resource("/downloads")
|
||||
.route(web::get().to(get_app_model_downloads_handler))
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -4,5 +4,5 @@ mod control_plane_sora_routes;
|
||||
mod image_studio_routes;
|
||||
mod model_download_routes;
|
||||
mod studio_gen2_routes;
|
||||
mod web_vc_routes;
|
||||
mod workflow_routes;
|
||||
mod workflow_routes;
|
||||
mod desktop_vc_app_routes;
|
||||
@@ -3,6 +3,7 @@ use crate::http_server::endpoints::misc::detect_locale_handler::detect_locale_ha
|
||||
use crate::http_server::endpoints::misc::root_index::get_root_index;
|
||||
use crate::http_server::endpoints::service::health_check_handler::get_health_check_handler;
|
||||
use crate::http_server::endpoints::service::public_info_handler::get_public_info_handler;
|
||||
use crate::http_server::endpoints::service::status_alert_handler::status_alert_handler;
|
||||
use actix_http::body::MessageBody;
|
||||
use actix_service::ServiceFactory;
|
||||
use actix_web::dev::{ServiceRequest, ServiceResponse};
|
||||
@@ -27,7 +28,8 @@ where
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
)
|
||||
.service(
|
||||
web::resource("/server_info") // NB/TODO(bt,2023-01-21): Couldn't scope to /v1/, actix routing table might not like collision
|
||||
// TODO(bt,2023-01-21): Couldn't scope to /v1/, actix routing table might not like collision
|
||||
web::resource("/server_info")
|
||||
.route(web::get().to(get_public_info_handler))
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
)
|
||||
@@ -36,6 +38,11 @@ where
|
||||
.route(web::get().to(detect_locale_handler))
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
)
|
||||
.service(
|
||||
web::resource("/v1/status_alert_check")
|
||||
.route(web::get().to(status_alert_handler))
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
)
|
||||
.service(web::resource("/")
|
||||
.route(web::get().to(get_root_index))
|
||||
.route(web::head().to(|| HttpResponse::Ok()))
|
||||
|
||||
Reference in new issue
Block a user