selene_core/database/resolveable.rs
1use std::{ops::Deref, sync::Arc};
2
3use lunar_lib::database::{DatabaseEntry, TransactionError};
4
5pub type Resolved<T> = <T as Resolveable>::Resolved;
6
7pub trait Resolveable: DatabaseEntry {
8 type Resolved: Deref<Target = Self>;
9
10 fn resolve(item: Arc<Self>, db: &Self::Db) -> Result<Self::Resolved, TransactionError>;
11}