fix(arch): move AP router assembly to bootstrap — presentation no longer depends on activitypub-base

This commit is contained in:
2026-05-14 16:09:21 +02:00
parent 970f5a1644
commit 004f3cd4d2
3 changed files with 24 additions and 31 deletions

View File

@@ -18,9 +18,7 @@ tracing = { workspace = true }
async-trait = { workspace = true }
sha2 = "0.10"
hex = "0.4"
activitypub-base = { workspace = true }
url = { workspace = true }
activitypub_federation = "0.7.0-beta.11"
utoipa = { version = "5.5.0", features = ["axum_extras", "uuid", "chrono"] }
utoipa-scalar = { version = "0.3.0", features = ["axum"], default-features = false }
utoipa-swagger-ui = { version = "9.0.2", features = ["axum", "vendored"] }

View File

@@ -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)
}