diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2023-02-02 11:29:37 -0500 |
---|---|---|
committer | Tyler Murphy <tylermurphy534@gmail.com> | 2023-02-02 11:29:37 -0500 |
commit | 18a27f62befb0c0d2e3b175f08f6088f10b25063 (patch) | |
tree | 1d8c0d00685f9374fdb3705062c08265d7e1fdb0 /src/database/posts.rs | |
parent | add caching header (diff) | |
download | xssbook-18a27f62befb0c0d2e3b175f08f6088f10b25063.tar.gz xssbook-18a27f62befb0c0d2e3b175f08f6088f10b25063.tar.bz2 xssbook-18a27f62befb0c0d2e3b175f08f6088f10b25063.zip |
loading by offset on profile
Diffstat (limited to 'src/database/posts.rs')
-rw-r--r-- | src/database/posts.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/database/posts.rs b/src/database/posts.rs index 6c0a27e..a81d6a7 100644 --- a/src/database/posts.rs +++ b/src/database/posts.rs @@ -90,11 +90,12 @@ pub fn get_all_posts() -> Result<Vec<Post>, rusqlite::Error> { } #[instrument()] -pub fn get_users_posts(user_id: u64) -> Result<Vec<Post>, rusqlite::Error> { +pub fn get_users_post_page(user_id: u64, page: u64) -> Result<Vec<Post>, rusqlite::Error> { tracing::trace!("Retrieving users posts"); + let page_size = 10; let conn = database::connect()?; - let mut stmt = conn.prepare("SELECT * FROM posts WHERE user_id = ? ORDER BY post_id DESC")?; - let row = stmt.query_map([user_id], |row| { + let mut stmt = conn.prepare("SELECT * FROM posts WHERE user_id = ? ORDER BY post_id DESC LIMIT ? OFFSET ?")?; + let row = stmt.query_map([user_id, page_size, page_size * page], |row| { let row = post_from_row(row)?; Ok(row) })?; |