use std::time::Duration;
use super::config::DatabaseConfig;
pub struct DatabaseConfigBuilder {
pub(super) config: DatabaseConfig,
}
impl DatabaseConfigBuilder {
pub fn max_connections(mut self, max: u32) -> Self {
self.config.max_connections = max;
self
}
pub fn min_connections(mut self, min: u32) -> Self {
self.config.min_connections = min;
self
}
pub fn connect_timeout(mut self, timeout: Duration) -> Self {
self.config.connect_timeout = timeout;
self
}
pub fn pool_size(mut self, min: u32, max: u32) -> Self {
self.config.min_connections = min;
self.config.max_connections = max;
self
}
pub fn logging(mut self, enabled: bool) -> Self {
self.config.sqlx_logging = enabled;
self
}
pub fn build(self) -> DatabaseConfig {
self.config
}
}