Added repositories into AppState

This commit is contained in:
micialware committed 2026-08-31 12:12:14 +03:00
1 parent 6c20561ede
commit 11d5144db5
9 files changed
+67 -23

No files matched your search

+1 -1
View File
@@ -9,7 +9,7 @@ use rusqlite::{Connection, Error, Params, Row, params};
use std::time::Instant;
use crate::data::repositories::DataRepository;
type CardStateRepository = DataRepository<CardState, SqliteDbLayer<CardState, CardStatesQuerySet>>;
pub type CardStateRepository = DataRepository<CardState, SqliteDbLayer<CardState, CardStatesQuerySet>>;
pub struct CardStatesQuerySet;
impl TableAccessQuerySet<CardState> for CardStatesQuerySet {
fn load() -> &'static str {
+1 -1
View File
@@ -3,7 +3,7 @@ use crate::data::repositories::DataRepository;
use crate::data_provider::{SqliteDbLayer, TableAccessQuerySet};
use rusqlite::{Error, Params, Row};
type CustomFieldRepository = DataRepository<CustomField, SqliteDbLayer<CustomField, CustomFieldsQuerySet>>;
pub type CustomFieldRepository = DataRepository<CustomField, SqliteDbLayer<CustomField, CustomFieldsQuerySet>>;
pub struct CustomFieldsQuerySet;
impl TableAccessQuerySet<WordGroup> for CustomFieldsQuerySet {
+2 -1
View File
@@ -8,8 +8,9 @@ use rusqlite::{Connection, Error, Params, Row};
use crate::data::repositories::DataRepository;
use crate::data_provider::card_states::CardStatesQuerySet;
type DeckRepository = DataRepository<DeckSettings, SqliteDbLayer<DeckSettings, DeckQuerySet>>;
pub type DeckRepository = DataRepository<DeckSettings, SqliteDbLayer<DeckSettings, DeckQuerySet>>;
#[derive(Clone)]
pub struct DeckQuerySet;
impl TableAccessQuerySet<DeckSettings> for DeckQuerySet {
fn load() -> &'static str {
+9
View File
@@ -30,6 +30,7 @@ pub trait TableAccessQuerySet<T> {
fn update_params(entity: &T) -> impl Params;
}
#[derive(Clone)]
pub struct SqliteDbLayer<T, Q>
where
Q: TableAccessQuerySet<T>,
@@ -37,6 +38,14 @@ where
_phantom: PhantomData<(T, Q)>,
}
impl<T, Q: TableAccessQuerySet<T>> Default for SqliteDbLayer<T, Q>{
fn default() -> Self {
Self{
_phantom: PhantomData,
}
}
}
impl<T: EntityData, Q: TableAccessQuerySet<T>> DbLayer<T> for SqliteDbLayer<T, Q> {
fn write_entity(&self, entity: &T, connection: &Connection) -> MaybeError {
let time = Instant::now();
+2 -1
View File
@@ -4,8 +4,9 @@ use rusqlite::{Error, Params, Row};
use crate::data::repositories::DataRepository;
use crate::data_provider::decks::DeckQuerySet;
type WordGroupRepository = DataRepository<WordGroup, SqliteDbLayer<WordGroup, WordGroupQuerySet>>;
pub type WordGroupRepository = DataRepository<WordGroup, SqliteDbLayer<WordGroup, WordGroupQuerySet>>;
#[derive(Clone)]
pub struct WordGroupQuerySet;
impl TableAccessQuerySet<WordGroup> for WordGroupQuerySet {
fn load() -> &'static str {
+2 -1
View File
@@ -7,8 +7,9 @@ use rusqlite::{Connection, Error, Params, Row, params};
use std::collections::HashMap;
use crate::data::repositories::DataRepository;
type DeckRepository = DataRepository<WordData, SqliteDbLayer<WordData, WordQuerySet>>;
pub type WordRepository = DataRepository<WordData, SqliteDbLayer<WordData, WordQuerySet>>;
#[derive(Clone)]
pub struct WordQuerySet;
impl TableAccessQuerySet<WordData> for WordQuerySet {
fn load() -> &'static str {