use crate::db::error::*; use crate::db::{Database, User, UserRef}; impl DatabaseInterface for Database { async fn get_user(&self, user: &UserRef) -> Option { 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; async fn create_user(&mut self, user: User) -> Result<(), UserAlreadyExists>; }