From d61e1f6a8e5ad5b7c14b1f9ab3101496f3f9ea00 Mon Sep 17 00:00:00 2001 From: Vika Date: Thu, 22 Jun 2023 20:28:21 +0300 Subject: database: introduce read_feed_with_cursor read_feed_with_cursor allows using an arbitrary string as a cursor, unlike read_feed_with_limit, which uses last post's UID as a cursor. --- kittybox-rs/src/database/mod.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'kittybox-rs/src/database/mod.rs') diff --git a/kittybox-rs/src/database/mod.rs b/kittybox-rs/src/database/mod.rs index ea4205c..4b1b348 100644 --- a/kittybox-rs/src/database/mod.rs +++ b/kittybox-rs/src/database/mod.rs @@ -330,6 +330,14 @@ pub trait Storage: std::fmt::Debug + Clone + Send + Sync { user: &'_ Option, ) -> Result>; + async fn read_feed_with_cursor( + &self, + url: &'_ str, + cursor: Option<&'_ str>, + limit: usize, + user: Option<&'_ str> + ) -> Result)>>; + /// Deletes a post from the database irreversibly. 'nuff said. Must be idempotent. async fn delete_post(&self, url: &'_ str) -> Result<()>; @@ -337,7 +345,7 @@ pub trait Storage: std::fmt::Debug + Clone + Send + Sync { async fn get_setting, 'a>(&'_ self, user: &'_ str) -> Result; /// Commits a setting to the setting store. - async fn set_setting, 'a>(&self, user: &'_ str, value: S::Data) -> Result<()>; + async fn set_setting + 'a, 'a>(&self, user: &'a str, value: S::Data) -> Result<()>; } #[cfg(test)] -- cgit 1.4.1