radr/repository/mod.rs
1use anyhow::Result;
2use std::path::{Path, PathBuf};
3
4use crate::domain::AdrMeta;
5
6pub mod fs;
7
8pub trait AdrRepository {
9 fn adr_dir(&self) -> &Path;
10 fn list(&self) -> Result<Vec<AdrMeta>>;
11 fn read_string(&self, path: &Path) -> Result<String>;
12 fn write_string(&self, path: &Path, content: &str) -> Result<()>;
13}
14
15pub fn idx_path(dir: &Path, index_name: &str) -> PathBuf {
16 dir.join(index_name)
17}