this repo has no description
1pub mod api; 2pub mod auth; 3pub mod repo; 4pub mod state; 5pub mod storage; 6 7use axum::{ 8 Router, 9 routing::{any, get, post}, 10}; 11use state::AppState; 12 13pub fn app(state: AppState) -> Router { 14 Router::new() 15 .route("/health", get(api::server::health)) 16 .route( 17 "/xrpc/com.atproto.server.describeServer", 18 get(api::server::describe_server), 19 ) 20 .route( 21 "/xrpc/com.atproto.server.createAccount", 22 post(api::identity::create_account), 23 ) 24 .route( 25 "/xrpc/com.atproto.server.createSession", 26 post(api::server::create_session), 27 ) 28 .route( 29 "/xrpc/com.atproto.server.getSession", 30 get(api::server::get_session), 31 ) 32 .route( 33 "/xrpc/com.atproto.server.deleteSession", 34 post(api::server::delete_session), 35 ) 36 .route( 37 "/xrpc/com.atproto.server.refreshSession", 38 post(api::server::refresh_session), 39 ) 40 .route( 41 "/xrpc/com.atproto.repo.createRecord", 42 post(api::repo::create_record), 43 ) 44 .route( 45 "/xrpc/com.atproto.repo.putRecord", 46 post(api::repo::put_record), 47 ) 48 .route( 49 "/xrpc/com.atproto.repo.getRecord", 50 get(api::repo::get_record), 51 ) 52 .route( 53 "/xrpc/com.atproto.repo.deleteRecord", 54 post(api::repo::delete_record), 55 ) 56 .route( 57 "/xrpc/com.atproto.repo.listRecords", 58 get(api::repo::list_records), 59 ) 60 .route( 61 "/xrpc/com.atproto.repo.describeRepo", 62 get(api::repo::describe_repo), 63 ) 64 .route( 65 "/xrpc/com.atproto.repo.uploadBlob", 66 post(api::repo::upload_blob), 67 ) 68 .route("/.well-known/did.json", get(api::identity::well_known_did)) 69 .route("/u/{handle}/did.json", get(api::identity::user_did_doc)) 70 .route("/xrpc/{*method}", any(api::proxy::proxy_handler)) 71 .with_state(state) 72}