From d3fb69cf129fe70c932a5d82fdd1bcc613544b5b Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 27 Nov 2022 15:38:39 +0100 Subject: Speed up deck synchronization Apply changes for what has been inserted, updated, removed. Also use transactions to speed up multi-writing. --- src/model/card.rs | 9 --------- src/model/entry.rs | 5 ----- src/model/mod.rs | 30 ++++++++++++++++++++++++++++-- 3 files changed, 28 insertions(+), 16 deletions(-) delete mode 100644 src/model/card.rs delete mode 100644 src/model/entry.rs (limited to 'src/model') diff --git a/src/model/card.rs b/src/model/card.rs deleted file mode 100644 index 811f877..0000000 --- a/src/model/card.rs +++ /dev/null @@ -1,9 +0,0 @@ -use crate::space_repetition; - -#[derive(Debug)] -pub struct Card { - pub question: String, - pub responses: Vec, - pub state: space_repetition::State, - pub ready: u64, -} diff --git a/src/model/entry.rs b/src/model/entry.rs deleted file mode 100644 index 769b38c..0000000 --- a/src/model/entry.rs +++ /dev/null @@ -1,5 +0,0 @@ -#[derive(Debug, Clone)] -pub struct Entry { - pub part_1: Vec, - pub part_2: Vec, -} diff --git a/src/model/mod.rs b/src/model/mod.rs index 185f401..2dc1ab5 100644 --- a/src/model/mod.rs +++ b/src/model/mod.rs @@ -1,3 +1,29 @@ -pub mod card; +use crate::space_repetition; + pub mod difficulty; -pub mod entry; + +#[derive(Debug, Clone)] +pub struct Line { + pub part_1: Vec, + pub part_2: Vec, +} + +pub struct DbEntry { + pub question: String, + pub responses: Vec, + pub deleted: Option, +} + +#[derive(Debug)] +pub struct Card { + pub question: String, + pub responses: Vec, + pub state: space_repetition::State, + pub ready: u64, +} + +#[derive(Debug, Clone, PartialEq, Eq, Hash)] +pub struct Question { + pub question: String, + pub responses: Vec, +} -- cgit v1.2.3