use crate::{ atproto::Nsid, ingestor::start_ingestor, router::{ Router, Endpoint, xrpc::{ QueryInput, ProcedureInput, Response, error, }, }, }; use http::status::StatusCode; mod atproto; mod ingestor; mod lexicons; mod router; // mod db; #[tokio::main] async fn main() { let subscriber = tracing_subscriber::FmtSubscriber::new(); let _ = tracing::subscriber::set_global_default(subscriber); let mut router = Router::new(); let get_nsid = Nsid::new(String::from("me.woach.get")).expect("me.woach.get is a valid nsid"); let post_nsid = Nsid::new(String::from("me.woach.post")).expect("me.woach.post is a valid nsid"); router = router.add_endpoint(Endpoint::new_xrpc_query(get_nsid, test)); router = router.add_endpoint(Endpoint::new_xrpc_procedure(post_nsid, test2)); tokio::spawn(async move { start_ingestor().await; }); router.serve().await; } async fn test(_data: QueryInput) -> Response { error(StatusCode::OK, "error", "message") } async fn test2(_data: ProcedureInput) -> Response { error(StatusCode::OK, "error", "message") }