Trait ReadStorage

Source
pub trait ReadStorage {
    type Repository: ReadRepository;

    // Required methods
    fn info(&self) -> &UserInfo;
    fn path(&self) -> &Path;
    fn path_of(&self, rid: &RepoId) -> PathBuf;
    fn contains(&self, rid: &RepoId) -> Result<bool, RepositoryError>;
    fn repositories(&self) -> Result<Vec<RepositoryInfo>, Error>;
    fn repository(
        &self,
        rid: RepoId,
    ) -> Result<Self::Repository, RepositoryError>;

    // Provided method
    fn get(&self, rid: RepoId) -> Result<Option<Doc>, RepositoryError> { ... }
}
Expand description

Read-only operations on a storage instance.

Required Associated Types§

Required Methods§

Source

fn info(&self) -> &UserInfo

Get user info for this storage.

Source

fn path(&self) -> &Path

Get the storage base path.

Source

fn path_of(&self, rid: &RepoId) -> PathBuf

Get a repository’s path.

Source

fn contains(&self, rid: &RepoId) -> Result<bool, RepositoryError>

Check whether storage contains a repository.

Source

fn repositories(&self) -> Result<Vec<RepositoryInfo>, Error>

Return all repositories (public and private).

Source

fn repository(&self, rid: RepoId) -> Result<Self::Repository, RepositoryError>

Open or create a read-only repository.

Provided Methods§

Source

fn get(&self, rid: RepoId) -> Result<Option<Doc>, RepositoryError>

Get a repository’s identity if it exists.

Implementors§

Source§

impl ReadStorage for Storage

Source§

impl<T, S> ReadStorage for T
where T: Deref<Target = S>, S: ReadStorage + 'static,