generated from t/malachite
add: model
This commit is contained in:
parent
f70b92c558
commit
d7ee379a9a
13 changed files with 394 additions and 219 deletions
|
@ -1,18 +1,28 @@
|
|||
mod chats;
|
||||
mod messages;
|
||||
mod sql;
|
||||
|
||||
use crate::config::Config;
|
||||
use buckets_core::{Config as BucketsConfig, DataManager as BucketsManager};
|
||||
use oiseau::{execute, postgres::DataManager as OiseauManager, postgres::Result as PgResult};
|
||||
use std::collections::HashMap;
|
||||
use tetratto_core::model::{Error, Result};
|
||||
|
||||
pub const NAME_REGEX: &str = r"[^\w_\-\.,!]+";
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct DataManager(pub OiseauManager<Config>);
|
||||
pub struct DataManager(pub OiseauManager<Config>, pub BucketsManager);
|
||||
|
||||
impl DataManager {
|
||||
/// Create a new [`DataManager`].
|
||||
pub async fn new(config: Config) -> PgResult<Self> {
|
||||
Ok(Self(OiseauManager::new(config).await?))
|
||||
let buckets_manager = BucketsManager::new(BucketsConfig {
|
||||
directory: config.uploads_dir.clone(),
|
||||
bucket_defaults: HashMap::new(),
|
||||
database: config.database.clone(),
|
||||
})
|
||||
.await
|
||||
.expect("failed to create buckets manager");
|
||||
|
||||
Ok(Self(OiseauManager::new(config).await?, buckets_manager))
|
||||
}
|
||||
|
||||
/// Initialize tables.
|
||||
|
@ -22,7 +32,8 @@ impl DataManager {
|
|||
Err(e) => return Err(Error::DatabaseConnection(e.to_string())),
|
||||
};
|
||||
|
||||
// execute!(&conn, sql::CREATE_TABLE_ENTRIES).unwrap();
|
||||
execute!(&conn, sql::CREATE_TABLE_CHATS).unwrap();
|
||||
execute!(&conn, sql::CREATE_TABLE_MESSAGES).unwrap();
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue