extern crate core; use crate::atrium::dns_resolver::HickoryDnsTxtResolver; use crate::atrium::stores::{AtriumSessionStore, AtriumStateStore}; use atrium_api::agent::atp_agent::AtpAgent; use atrium_api::{ agent::Agent, agent::atp_agent::store::MemorySessionStore, }; use atrium_identity::did::CommonDidResolver; use atrium_identity::handle::AtprotoHandleResolver; use atrium_oauth::{DefaultHttpClient, OAuthClient}; use atrium_xrpc_client::reqwest::ReqwestClient; use std::sync::Arc; pub mod advent; pub mod assets; pub mod atrium; pub mod cache; pub mod db; pub mod models; pub mod web_helpers; #[rustfmt::skip] pub mod lexicons; /// OAuthClientType to make it easier to access the OAuthClient in web requests pub type OAuthClientType = Arc< OAuthClient< AtriumStateStore, AtriumSessionStore, CommonDidResolver, AtprotoHandleResolver, >, >; /// HandleResolver type to make it easier to access the resolver in web requests pub type HandleResolver = Arc>; /// The agent(what makes atproto calls) pub type OAuthAgentType = Agent< atrium_oauth::OAuthSession< DefaultHttpClient, CommonDidResolver, AtprotoHandleResolver, AtriumSessionStore, >, >; pub type PasswordAgent = Arc>;