Model

Trait Model 

Source
pub trait Model {
    type Default;

    const DEFAULT: Self::Default;

    // Required methods
    async fn create_using_self(&mut self, pool: &SqlitePool) -> Result<()>;
    async fn get_using_id(pool: &SqlitePool, id: i64) -> Result<Self>
       where Self: Sized;
    async fn update_using_self(&self, pool: &SqlitePool) -> Result<()>;
    async fn delete_using_id(pool: &SqlitePool, id: i64) -> Result<()>;
}

Required Associated Constants§

Source

const DEFAULT: Self::Default

Required Associated Types§

Required Methods§

Source

async fn create_using_self(&mut self, pool: &SqlitePool) -> Result<()>

Add model to database using self, mutating self with the returned id

Source

async fn get_using_id(pool: &SqlitePool, id: i64) -> Result<Self>
where Self: Sized,

Get model from database using id

Source

async fn update_using_self(&self, pool: &SqlitePool) -> Result<()>

Update model in database using self

Source

async fn delete_using_id(pool: &SqlitePool, id: i64) -> Result<()>

Delete model from database using id

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Model for Camera

Source§

const DEFAULT: Default

Source§

type Default = Default

Source§

impl Model for CameraPermission

Source§

const DEFAULT: Default

Source§

type Default = Default

Source§

impl Model for CameraSetting

Source§

const DEFAULT: Default

Source§

type Default = Default

Source§

impl Model for User

Source§

const DEFAULT: Default

Source§

type Default = Default

Source§

impl Model for Video

Source§

const DEFAULT: Default

Source§

type Default = Default