use std::borrow::Cow;
use std::time::Duration;
use derive_getters::Getters;
use serde::{Deserialize, Serialize};
use ultimate_common::model::sensitive::UriString;
pub use crate::model::store::dbx::{Error, Result};
pub(in crate::model) mod dbx;
#[derive(Debug, Clone, Serialize, Deserialize, Getters)]
pub struct DbConfig {
enable: bool,
url: UriString,
max_connections: Option<u32>,
min_connections: Option<u32>,
idle_timeout: Option<Duration>,
acquire_timeout: Option<Duration>,
max_lifetime: Option<Duration>,
sqlx_logging: Option<bool>,
sqlx_logging_level: Option<String>,
sqlcipher_key: Option<Cow<'static, str>>,
schema_search_path: Option<String>,
}