fix(arch): move AP router assembly to bootstrap — presentation no longer depends on activitypub-base
This commit is contained in:
@@ -1,20 +1,10 @@
|
||||
use axum::{
|
||||
routing::{delete, get, patch, post, put},
|
||||
routing::{delete, get, post, put},
|
||||
Router,
|
||||
};
|
||||
use activitypub_base::{
|
||||
actor_handler::actor_handler,
|
||||
followers_handler::{followers_handler, following_handler},
|
||||
inbox::inbox_handler,
|
||||
nodeinfo::{nodeinfo_handler, nodeinfo_well_known_handler},
|
||||
outbox::outbox_handler,
|
||||
webfinger::webfinger_handler,
|
||||
ApFederationConfig,
|
||||
};
|
||||
use activitypub_federation::config::FederationMiddleware;
|
||||
use crate::{handlers::*, openapi, state::AppState};
|
||||
|
||||
pub fn router(fed_config: &ApFederationConfig) -> Router<AppState> {
|
||||
pub fn router() -> Router<AppState> {
|
||||
let api_routes = Router::new()
|
||||
// health
|
||||
.route("/health", get(health::health_handler))
|
||||
@@ -74,20 +64,5 @@ pub fn router(fed_config: &ApFederationConfig) -> Router<AppState> {
|
||||
)
|
||||
.route("/api-keys/{id}", delete(api_keys::delete_api_key_handler));
|
||||
|
||||
let ap_routes = Router::new()
|
||||
.route("/.well-known/webfinger", get(webfinger_handler))
|
||||
.route("/.well-known/nodeinfo", get(nodeinfo_well_known_handler))
|
||||
.route("/nodeinfo/2.0", get(nodeinfo_handler))
|
||||
.route("/users/{username}", get(actor_handler))
|
||||
.route("/users/{username}/inbox", post(inbox_handler))
|
||||
.route("/users/{username}/outbox", get(outbox_handler))
|
||||
.route("/users/{username}/followers", get(followers_handler))
|
||||
.route("/users/{username}/following", get(following_handler));
|
||||
|
||||
let combined = Router::new()
|
||||
.merge(api_routes)
|
||||
.merge(ap_routes)
|
||||
.layer(FederationMiddleware::new(fed_config.0.clone()));
|
||||
|
||||
openapi::serve(combined)
|
||||
openapi::serve(api_routes)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user