CardStates rewritten to TableAccessQuerySet
This commit is contained in:
1 parent
45830a7985
commit
068b9c7197
7 files changed
+88
-40
No files matched your search
@@ -1,11 +1,10 @@
|
||||
use crate::core::srs::OrderMode;
|
||||
use crate::data::Id;
|
||||
use crate::data::entities::{DeckSettings, EntityData};
|
||||
use crate::data::entities::{CardState, EntityData};
|
||||
use crate::data::repositories::{BatchedDbLayer, DbLayer};
|
||||
use crate::notification::MaybeError;
|
||||
use crate::notification::NotificationData::{DbLoadError, DbSaveError};
|
||||
use log::info;
|
||||
use rusqlite::{Connection, Params, Row, params};
|
||||
use rusqlite::{Connection, Error, Params, Row};
|
||||
use std::marker::PhantomData;
|
||||
use std::time::Instant;
|
||||
|
||||
@@ -24,7 +23,7 @@ pub trait TableAccessQuerySet<T> {
|
||||
fn save() -> &'static str;
|
||||
fn add() -> &'static str;
|
||||
fn name() -> &'static str;
|
||||
fn from_sql(row: &Row) -> T;
|
||||
fn from_sql(row: &Row) -> Result<T, Error>;
|
||||
fn insert_params(entity: &T) -> impl Params;
|
||||
fn update_params(entity: &T) -> impl Params;
|
||||
}
|
||||
@@ -33,8 +32,7 @@ pub struct SqliteDbLayer<T, Q>
|
||||
where
|
||||
Q: TableAccessQuerySet<T>,
|
||||
{
|
||||
query_set: Q,
|
||||
_phantom: PhantomData<T>,
|
||||
_phantom: PhantomData<(T, Q)>,
|
||||
}
|
||||
|
||||
impl<T: EntityData, Q: TableAccessQuerySet<T>> DbLayer<T> for SqliteDbLayer<T, Q> {
|
||||
|
||||
Reference in new issue
Block a user