oca_rs/repositories/
mod.rs1pub 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}