CardStates rewritten to TableAccessQuerySet

This commit is contained in:
micialware committed 2026-08-30 20:43:31 +03:00
1 parent 45830a7985
commit 068b9c7197
7 files changed
+88 -40

No files matched your search

+4 -6
View File
@@ -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> {