harmos_sdk/operations/
access.rs1use std::sync::Arc;
18pub type AccessError = Box<dyn std::error::Error + Send + Sync>;
29pub type DiscoveryPage = (Vec<u8>, Option<String>);
30
31#[derive(Clone)]
34pub struct DiscoveryAccess(pub Arc<dyn Discovery>);
35#[derive(Clone)]
36pub struct GrantAccess(pub Arc<dyn GrantAuthority>);
37
38pub trait Discovery: Send + Sync {
43 fn discover(&self, after: Option<&str>, rows: usize, bytes: usize) -> Result<DiscoveryPage, AccessError>;
44}
45pub trait GrantAuthority: Send + Sync {
46 fn admit(&self, grant: &harmos_domain::plugin::Grant) -> Result<(), AccessError>;
47}
48
49