dejavu/store/session.rs
1//! Session lifecycle helpers.
2
3use super::Db;
4use crate::error::StoreError;
5use rusqlite::params;
6
7impl Db {
8 /// Mark a session ended (idempotent — only sets `ended_at` once).
9 pub fn end_session(&self, session_id: &str, ended_at: &str) -> Result<(), StoreError> {
10 self.conn.execute(
11 "UPDATE sessions SET ended_at = ?2 WHERE id = ?1 AND ended_at IS NULL",
12 params![session_id, ended_at],
13 )?;
14 Ok(())
15 }
16}