harmos_sdk/operations/
access.rs1use std::sync::Arc;
17
18pub type AccessError = Box<dyn std::error::Error + Send + Sync>;
25pub type DiscoveryPage = (Vec<u8>, Option<String>);
26
27#[derive(Clone)]
30pub struct DiscoveryAccess(pub Arc<dyn Discovery>);
31#[derive(Clone)]
32pub struct GrantAccess(pub Arc<dyn GrantAuthority>);
33
34pub trait Discovery: Send + Sync {
39 fn discover(&self, after: Option<&str>, rows: usize, bytes: usize) -> Result<DiscoveryPage, AccessError>;
40}
41pub trait GrantAuthority: Send + Sync {
42 fn admit(&self, grant: &harmos_domain::plugin::Grant) -> Result<(), AccessError>;
43}
44
45