rapiddb_web/api/
mod.rs

1//! RapidDB REST API
2
3mod api_endpoint;
4pub mod helpers;
5mod v0;
6
7use rapiddb::traits::IAsyncDatabase;
8use warp::{Filter, Rejection, Reply};
9
10/// Sensor API Endpoints
11pub 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
19/// Sensor API Endpoints
20pub 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}