pub struct StoreBackend { /* private fields */ }Expand description
Backend that persists files through a Store implementation.
Each file is stored as an item with key=path and value={"content": "..."}.
All items share a configurable namespace prefix.
Implementations§
Trait Implementations§
Source§impl Backend for StoreBackend
impl Backend for StoreBackend
Source§fn ls<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<DirEntry>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn ls<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<DirEntry>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List entries in a directory.
Source§fn read_file<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
offset: usize,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<String, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_file<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
offset: usize,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<String, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read file contents with line-based pagination.
Source§fn write_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
path: &'life1 str,
content: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn write_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
path: &'life1 str,
content: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Create or overwrite a file.
Source§fn edit_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
path: &'life1 str,
old_text: &'life2 str,
new_text: &'life3 str,
replace_all: bool,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn edit_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
path: &'life1 str,
old_text: &'life2 str,
new_text: &'life3 str,
replace_all: bool,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Find-and-replace text in a file.
Source§fn glob<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
pattern: &'life1 str,
base: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn glob<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
pattern: &'life1 str,
base: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Match file paths against a glob pattern within a base directory.
Source§fn grep<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
pattern: &'life1 str,
path: Option<&'life2 str>,
file_glob: Option<&'life3 str>,
output_mode: GrepOutputMode,
) -> Pin<Box<dyn Future<Output = Result<String, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn grep<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
pattern: &'life1 str,
path: Option<&'life2 str>,
file_glob: Option<&'life3 str>,
output_mode: GrepOutputMode,
) -> Pin<Box<dyn Future<Output = Result<String, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Search file contents by regex pattern.
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
_command: &'life1 str,
_timeout: Option<Duration>,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
_command: &'life1 str,
_timeout: Option<Duration>,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute a shell command. Returns error by default.
Source§fn supports_execution(&self) -> bool
fn supports_execution(&self) -> bool
Whether this backend supports shell command execution.
Auto Trait Implementations§
impl Freeze for StoreBackend
impl !RefUnwindSafe for StoreBackend
impl Send for StoreBackend
impl Sync for StoreBackend
impl Unpin for StoreBackend
impl UnsafeUnpin for StoreBackend
impl !UnwindSafe for StoreBackend
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