cinderblock_core/data_layer/
mod.rs1use crate::Resource;
2
3pub mod in_memory;
4
5pub trait DataLayer<R: Resource>: std::fmt::Debug + Send + Sync + 'static {
12 fn create(&self, resource: R) -> impl Future<Output = crate::Result<()>> + Send;
13
14 fn read(&self, primary_key: &R::PrimaryKey) -> impl Future<Output = crate::Result<R>> + Send;
15
16 fn update(&self, resource: R) -> impl Future<Output = crate::Result<()>> + Send;
17
18 fn destroy(&self, primary_key: &R::PrimaryKey)
20 -> impl Future<Output = crate::Result<R>> + Send;
21}