cedar_agent/services/data/
mod.rs1use std::error::Error;
2
3use async_trait::async_trait;
4use cedar_policy::Schema;
5
6use crate::schemas::data as schemas;
7
8pub mod memory;
9pub mod load_from_file;
10
11#[async_trait]
12pub trait DataStore: Send + Sync {
13 async fn entities(&self) -> cedar_policy::Entities;
14 async fn get_entities(&self) -> schemas::Entities;
15 async fn delete_entities(&self);
16 async fn update_entities(
17 &self,
18 entities: schemas::Entities,
19 schema: Option<Schema>,
20 ) -> Result<schemas::Entities, Box<dyn Error>>;
21}