only show public quotes to logged out users

This commit is contained in:
2026-04-09 14:31:06 +02:00
parent cec765bcf3
commit b3fac1f9ec
2 changed files with 18 additions and 1 deletions

View File

@@ -113,6 +113,20 @@ impl Quote {
None => Ok(None),
}
}
pub fn get_newest_public(conn: &Connection) -> Result<Option<Quote>, QuoteError> {
let id: Option<Uuid> = conn
.query_row(
"SELECT id FROM quotes ORDER BY id DESC LIMIT 1 WHERE public = 1",
(),
|r| r.get(0),
)
.optional()?;
match id {
Some(id) => Ok(Some(Self::get_by_id(conn, id)?)),
None => Ok(None),
}
}
pub fn get_chronological_offset(
conn: &Connection,
offset: i64,

View File

@@ -25,7 +25,10 @@ pub async fn page(req: Request) -> Result<Markup, CompositeError> {
let u = User::authenticate(req.headers()).ok().flatten();
let conn = database::conn()?;
let newest_quote = Quote::get_newest(&conn)?;
let newest_quote = match u {
Some(_) => Quote::get_newest(&conn)?,
None => Quote::get_newest_public(&conn)?,
};
Ok(base(
"Dashboard | Mnemosyne",