cedar_agent/services/data/
mod.rs

1use 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}