selene-core 0.5.1

selene-core is the backend for Selene, a local-first music player
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
use lunar_lib::database::{CompareAndSwapTransaction, CustomTransactionError, DatabaseEntry};

pub trait Createable: Sized + DatabaseEntry {
    type CreateArgs: Clone;
    type Err;

    /// Creates a new [`Self`] in the database using [`Self::CreateArgs`]
    fn tx_create(
        cas_tx: &mut CompareAndSwapTransaction<Self::EntryDb>,
        args: Self::CreateArgs,
    ) -> Result<Self, CustomTransactionError<Self::Err>>;
}