auric_runtime/data/
adapter.rs1use super::QueryRecordOptions;
2use anyhow::Result;
3use async_trait::async_trait;
4use jsonapi_core::Resource;
5
6#[async_trait(?Send)]
7pub trait Adapter {
8 async fn create_record(&self, resource: Resource) -> Result<Resource>;
10
11 async fn delete_record(&self, resource: &Resource) -> Result<()>;
13
14 async fn find_record(&self, resource_type: &str, id: &str) -> Result<Resource>;
16
17 async fn query(&self, resource_type: &str, query: serde_json::Value) -> Result<Vec<Resource>>;
19
20 async fn query_record(
22 &self,
23 resource_type: &str,
24 query: serde_json::Value,
25 options: QueryRecordOptions,
26 ) -> Result<Resource>;
27
28 async fn update_record(&self, resource: Resource) -> Result<Resource>;
30}
31
32#[cfg(test)]
33mod tests {
34 #[test]
35 fn can_todo() {
36 }
38}