paginate logs

This commit is contained in:
2026-04-09 18:35:54 +02:00
parent 8fe1f52644
commit ab01d0d275
2 changed files with 49 additions and 8 deletions

View File

@@ -33,10 +33,17 @@ impl LogEntry {
))?;
Ok(log)
}
pub fn get_all(conn: &Connection) -> Result<Vec<LogEntry>, DatabaseError> {
pub fn total_count(conn: &Connection) -> Result<i64, DatabaseError> {
Ok(conn.query_row("SELECT COUNT(*) FROM logs", (), |r| r.get(0))?)
}
pub fn get_chronological_offset(
conn: &Connection,
offset: i64,
limit: i64,
) -> Result<Vec<LogEntry>, DatabaseError> {
Ok(conn
.prepare("SELECT id, actor, target, actiontype, payload FROM logs ORDER BY id DESC")?
.query_map((), |r| {
.prepare("SELECT id, actor, target, actiontype, payload FROM logs ORDER BY id DESC LIMIT ?1 OFFSET ?2")?
.query_map((limit, offset), |r| {
let payload: String = r.get(4)?;
Ok(LogEntry {
id: r.get(0)?,