refactor: combine models and db crate together
This commit is contained in:
22
crates/core/database/src/models/mod.rs
Normal file
22
crates/core/database/src/models/mod.rs
Normal file
@@ -0,0 +1,22 @@
|
||||
mod admin_migrations;
|
||||
mod bots;
|
||||
|
||||
pub use admin_migrations::*;
|
||||
pub use bots::*;
|
||||
|
||||
use crate::{Database, MongoDb, ReferenceDb};
|
||||
|
||||
pub trait AbstractDatabase: Sync + Send + admin_migrations::AbstractMigrations {}
|
||||
impl AbstractDatabase for ReferenceDb {}
|
||||
impl AbstractDatabase for MongoDb {}
|
||||
|
||||
impl std::ops::Deref for Database {
|
||||
type Target = dyn AbstractDatabase;
|
||||
|
||||
fn deref(&self) -> &Self::Target {
|
||||
match &self {
|
||||
Database::Reference(dummy) => dummy,
|
||||
Database::MongoDb(mongo) => mongo,
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user