oca_rs/repositories/
mod.rs

1pub mod capture_base_cache_repo;
2pub use capture_base_cache_repo::*;
3pub mod oca_bundle_fts_repo;
4pub use oca_bundle_fts_repo::*;
5pub mod oca_bundle_cache_repo;
6pub use oca_bundle_cache_repo::*;
7
8use std::path::PathBuf;
9
10#[derive(Clone)]
11pub struct SQLiteConfig {
12    pub path: Option<PathBuf>,
13}
14
15impl SQLiteConfig {
16    pub fn build() -> SQLiteConfigBuilder {
17        SQLiteConfigBuilder { path: None }
18    }
19}
20
21pub struct SQLiteConfigBuilder {
22    path: Option<PathBuf>,
23}
24
25impl SQLiteConfigBuilder {
26    pub fn path(mut self, path: PathBuf) -> Self {
27        self.path = Some(path);
28        self
29    }
30
31    pub fn finalize(&self) -> Result<SQLiteConfig, String> {
32        Ok(SQLiteConfig {
33            path: self.path.clone(),
34        })
35    }
36
37    pub fn unwrap(&self) -> SQLiteConfig {
38        self.finalize().unwrap()
39    }
40}