diff options
author | curly <curlybryce@protonmail.com> | 2023-02-28 10:32:16 -0700 |
---|---|---|
committer | curly <curlybryce@protonmail.com> | 2023-02-28 10:32:16 -0700 |
commit | 531c6d1bf701af8548bc764cd977942f65bcf76f (patch) | |
tree | acb7eb100f8267d6533df6df080969e16dfa87b1 /src/database.rs | |
parent | a3b54a4b23866ae08c7f906d93f512c19db78d9d (diff) | |
download | rocket_test-531c6d1bf701af8548bc764cd977942f65bcf76f.tar.gz rocket_test-531c6d1bf701af8548bc764cd977942f65bcf76f.tar.bz2 rocket_test-531c6d1bf701af8548bc764cd977942f65bcf76f.zip |
terrible ws implementation
Diffstat (limited to 'src/database.rs')
-rw-r--r-- | src/database.rs | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/database.rs b/src/database.rs index 74d9c1a..48c6b12 100644 --- a/src/database.rs +++ b/src/database.rs @@ -6,6 +6,7 @@ use super::*; pub struct Database { db: Connection, + newest_message_id: Option<UID>, } impl Database { pub fn get_message(&self, id: usize) -> Option<Message> { @@ -40,11 +41,18 @@ impl Database { pub fn get_next_message_id(&self) -> UID { UID::from(self.get_table_length("messages")) } - pub fn get_message_newest_id(&self) -> Option<UID> { - match self.get_table_length("messages") { - 0 => None, - n => Some(UID::new(n - 1)), + pub fn get_message_newest_id(&mut self) -> Option<UID> { + match self.newest_message_id { + None => { + self.newest_message_id = match self.get_table_length("messages") { + 0 => None, + n => Some(UID::new(n - 1)), + } + }, + Some(_) => () } + + self.newest_message_id } fn message_from_row(&self, row: sqlite::Row) -> Message{ @@ -137,6 +145,8 @@ impl Database { } } + self.newest_message_id = Some(msg.id()); + Ok(msg.id()) } @@ -379,6 +389,7 @@ impl Database { Database { db: db, + newest_message_id: None } } }
\ No newline at end of file |