17 lines
579 B
Rust
17 lines
579 B
Rust
|
|
use crate::db::error::*;
|
||
|
|
use crate::db::{Database, User, UserRef};
|
||
|
|
|
||
|
|
impl<D: DatabaseInterface> DatabaseInterface for Database<D> {
|
||
|
|
async fn get_user(&self, user: &UserRef) -> Option<User> {
|
||
|
|
self.inner.read().await.get_user(user).await
|
||
|
|
}
|
||
|
|
|
||
|
|
async fn create_user(&mut self, user: User) -> Result<(), UserAlreadyExists> {
|
||
|
|
self.inner.write().await.create_user(user).await
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
pub trait DatabaseInterface {
|
||
|
|
async fn get_user(&self, user: &UserRef) -> Option<User>;
|
||
|
|
async fn create_user(&mut self, user: User) -> Result<(), UserAlreadyExists>;
|
||
|
|
}
|