mirror of
https://tangled.org/tranquil.farm/tranquil-pds
synced 2026-02-09 13:50:09 +00:00
73 lines
2.0 KiB
Rust
73 lines
2.0 KiB
Rust
pub mod api;
|
|
pub mod auth;
|
|
pub mod repo;
|
|
pub mod state;
|
|
pub mod storage;
|
|
|
|
use axum::{
|
|
Router,
|
|
routing::{any, get, post},
|
|
};
|
|
use state::AppState;
|
|
|
|
pub fn app(state: AppState) -> Router {
|
|
Router::new()
|
|
.route("/health", get(api::server::health))
|
|
.route(
|
|
"/xrpc/com.atproto.server.describeServer",
|
|
get(api::server::describe_server),
|
|
)
|
|
.route(
|
|
"/xrpc/com.atproto.server.createAccount",
|
|
post(api::identity::create_account),
|
|
)
|
|
.route(
|
|
"/xrpc/com.atproto.server.createSession",
|
|
post(api::server::create_session),
|
|
)
|
|
.route(
|
|
"/xrpc/com.atproto.server.getSession",
|
|
get(api::server::get_session),
|
|
)
|
|
.route(
|
|
"/xrpc/com.atproto.server.deleteSession",
|
|
post(api::server::delete_session),
|
|
)
|
|
.route(
|
|
"/xrpc/com.atproto.server.refreshSession",
|
|
post(api::server::refresh_session),
|
|
)
|
|
.route(
|
|
"/xrpc/com.atproto.repo.createRecord",
|
|
post(api::repo::create_record),
|
|
)
|
|
.route(
|
|
"/xrpc/com.atproto.repo.putRecord",
|
|
post(api::repo::put_record),
|
|
)
|
|
.route(
|
|
"/xrpc/com.atproto.repo.getRecord",
|
|
get(api::repo::get_record),
|
|
)
|
|
.route(
|
|
"/xrpc/com.atproto.repo.deleteRecord",
|
|
post(api::repo::delete_record),
|
|
)
|
|
.route(
|
|
"/xrpc/com.atproto.repo.listRecords",
|
|
get(api::repo::list_records),
|
|
)
|
|
.route(
|
|
"/xrpc/com.atproto.repo.describeRepo",
|
|
get(api::repo::describe_repo),
|
|
)
|
|
.route(
|
|
"/xrpc/com.atproto.repo.uploadBlob",
|
|
post(api::repo::upload_blob),
|
|
)
|
|
.route("/.well-known/did.json", get(api::identity::well_known_did))
|
|
.route("/u/{handle}/did.json", get(api::identity::user_did_doc))
|
|
.route("/xrpc/{*method}", any(api::proxy::proxy_handler))
|
|
.with_state(state)
|
|
}
|