1mod api_endpoint;
4pub mod helpers;
5mod v0;
6
7use rapiddb::traits::IAsyncDatabase;
8use warp::{Filter, Rejection, Reply};
9
10pub fn endpoints(
12 db: impl IAsyncDatabase,
13) -> impl Filter<Extract = impl Reply, Error = Rejection> + Clone {
14 let _db = std::sync::Arc::new(tokio::sync::RwLock::new(db));
15
16 api_endpoint::get().or(v0::endpoints(_db))
17}
18
19pub fn endpoints_with_arc_rwlock(
21 db: std::sync::Arc<tokio::sync::RwLock<impl IAsyncDatabase + ?Sized>>,
22) -> impl Filter<Extract = impl Reply, Error = Rejection> + Clone {
23 api_endpoint::get().or(v0::endpoints(db))
24}