//! Factory module for creating a DB with all zaz models registered use crate::core::{DB, DBBuilder, SledDBResult}; use crate::zaz::models::*; use std::path::PathBuf; /// Create a new DB instance with all zaz models registered pub fn create_zaz_db>(path: P) -> SledDBResult { // Using the builder pattern to register all models DBBuilder::new(path) .register_model::() .register_model::() .register_model::() .register_model::() .register_model::() .register_model::() .register_model::() .build() } /// Register all zaz models with an existing DB instance pub fn register_zaz_models(db: &mut DB) -> SledDBResult<()> { // Dynamically register all zaz models db.register::()?; db.register::()?; db.register::()?; db.register::()?; db.register::()?; db.register::()?; db.register::()?; Ok(()) }