tetratto_core2/database/drivers/
mod.rs1pub mod common;
2
3use std::collections::HashMap;
4use oiseau::postgres::{DataManager as OiseauManager, Result};
5use crate::config::Config;
6use buckets_core::{DataManager as BucketsManager, Config as BucketsConfig};
7
8#[derive(Clone)]
9pub struct DataManager(pub OiseauManager<Config>, pub BucketsManager);
10
11impl DataManager {
12 pub async fn new(config: Config) -> Result<Self> {
14 let buckets_manager = BucketsManager::new(BucketsConfig {
15 directory: format!("{}/{}", config.dirs.media, "uploads"),
16 bucket_defaults: HashMap::new(),
17 database: config.database.clone(),
18 banned_hosts: config.banned_hosts.clone(),
19 })
20 .await
21 .expect("failed to create buckets manager");
22
23 Ok(Self(OiseauManager::new(config).await?, buckets_manager))
24 }
25}