sui_tool/db_shell/
backend.rs1use crate::db_shell::vfs::VfsPath;
5
6pub struct DirEntry {
7 pub name: String,
8 pub is_dir: bool,
9}
10
11pub trait Backend: Send + Sync {
12 fn ls_children(&self, path: &VfsPath, limit: usize) -> anyhow::Result<Vec<DirEntry>>;
14
15 fn ls_cursor(&self, path: &VfsPath, limit: usize) -> anyhow::Result<Vec<DirEntry>>;
18
19 fn read_json(&self, path: &VfsPath) -> anyhow::Result<serde_json::Value>;
21
22 fn read_debug(&self, path: &VfsPath) -> anyhow::Result<String>;
24
25 fn read_bcs(&self, path: &VfsPath) -> anyhow::Result<Vec<u8>>;
27
28 fn delete(&self, path: &VfsPath) -> anyhow::Result<()>;
30}