pub struct Agent {
pub keypair: DidKeyPair,
pub database: Database,
pub metadata: Box<dyn KeyValueStore>,
pub did_resolver: Box<dyn DidResolver>,
pub client: Box<dyn Client>,
}
Fields§
§keypair: DidKeyPair
§database: Database
§metadata: Box<dyn KeyValueStore>
§did_resolver: Box<dyn DidResolver>
§client: Box<dyn Client>
Implementations§
source§impl Agent
impl Agent
pub async fn new<KVS: KeyValueStore + 'static>( keypair: DidKeyPair, data_path: Option<PathBuf>, did_resolver: Option<Box<dyn DidResolver>>, client: Option<Box<dyn Client>>, ) -> Result<Self, Error>
pub fn tenant(&self) -> Did
pub fn record_key(&self, record_id: &Hash) -> Result<SecretKey, Error>
pub fn get_permission(&self, record_id: &Hash) -> Result<Permission, Error>
pub async fn configure_protocol( &mut self, protocol: Protocol, ) -> Result<(), Error>
pub async fn create( &mut self, parent_id: Option<&Hash>, record: Record, dids: &[&Did], ) -> Result<Permission, Error>
pub async fn create_if_not_exists( &mut self, record: Record, dids: &[&Did], ) -> Result<PermissionedRecord, Error>
pub async fn read( &mut self, record_id: &Hash, dids: &[&Did], ) -> Result<Option<PermissionedRecord>, Error>
pub async fn update( &mut self, record: Record, dids: &[&Did], ) -> Result<Permission, Error>
pub async fn delete( &mut self, record_id: &Hash, dids: &[&Did], ) -> Result<(), Error>
pub async fn read_child( &mut self, parent_id: &Hash, index: usize, dids: &[&Did], ) -> Result<Option<PermissionedRecord>, Error>
pub async fn read_children( &mut self, parent_id: &Hash, start: usize, end: Option<usize>, dids: &[&Did], ) -> Result<Vec<PermissionedRecord>, Error>
pub async fn delete_child( &mut self, parent_id: &Hash, index: usize, dids: &[&Did], ) -> Result<(), Error>
pub async fn send_dm( &mut self, recipient: &Did, permission: Permission, ) -> Result<(), Error>
pub async fn read_dms( &mut self, recipient: &Did, start: usize, end: Option<usize>, ) -> Result<Vec<PermissionedRecord>, Error>
pub async fn establish_dms( &mut self, recipient: &Did, ) -> Result<PermissionedRecord, Error>
pub async fn check_did_messages(&mut self) -> Result<(), Error>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Agent
impl !RefUnwindSafe for Agent
impl Send for Agent
impl Sync for Agent
impl Unpin for Agent
impl !UnwindSafe for Agent
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more