baza_core 2.8.0

The base password manager
Documentation
pub mod gitfs;
// pub mod gix;

use crate::{bundle::Bundle, BazaR, Config};

trait Storage {
    fn create(&self, bundle: Bundle, replace: bool) -> BazaR<()>;
    fn read(&self, bundle: Bundle) -> BazaR<()>;
    fn update(&self, bundle: Bundle) -> BazaR<()>;
    fn delete(&self, bundle: Bundle) -> BazaR<()>;
    fn search(&self, str: String) -> BazaR<()>;
    fn copy_to_clipboard(&self, bundle: Bundle, ttl: u64) -> BazaR<()>;
}

pub fn initialize() -> BazaR<()> {
    if Config::get().gitfs.enable.unwrap_or(false) {
        gitfs::initialize()?;
    }
    Ok(())
}

pub(crate) fn create(bundle: Bundle) -> BazaR<()> {
    if Config::get().gitfs.enable.unwrap_or(false) {
        gitfs::GitFs.create(bundle, true)?;
    }
    Ok(())
}

pub(crate) fn read(bundle: Bundle) -> BazaR<()> {
    if Config::get().gitfs.enable.unwrap_or(false) {
        gitfs::GitFs.read(bundle)?;
    }
    Ok(())
}

pub(crate) fn update(bundle: Bundle) -> BazaR<()> {
    if Config::get().gitfs.enable.unwrap_or(false) {
        gitfs::GitFs.update(bundle)?;
    }
    Ok(())
}

pub(crate) fn delete(bundle: Bundle) -> BazaR<()> {
    if Config::get().gitfs.enable.unwrap_or(false) {
        gitfs::GitFs.delete(bundle)?;
    }
    Ok(())
}

pub fn sync() -> BazaR<()> {
    if Config::get().gitfs.enable.unwrap_or(false) {
        gitfs::sync()?;
    }
    Ok(())
}

pub fn search(str: String) -> BazaR<()> {
    if Config::get().gitfs.enable.unwrap_or(false) {
        gitfs::GitFs.search(str)?;
    }
    Ok(())
}

pub(crate) fn copy_to_clipboard(bundle: Bundle, ttl: u64) -> BazaR<()> {
    if Config::get().gitfs.enable.unwrap_or(false) {
        gitfs::GitFs.copy_to_clipboard(bundle, ttl)?;
    }
    Ok(())
}