HN-like selfhosted forums
-- name: NewSession :oneINSERT INTO sessions(user_id, token_hash, expires_at)VALUES ($1, $2, $3)RETURNING *;-- name: GetSessionByTokenHash :oneSELECT s.*, u.username as session_usernameFROM sessions sJOIN users u ON u.id = s.user_idWHERE token_hash = $1 AND revoked_at IS NULL AND expires_at > NOW();-- name: RevokeSession :execUPDATE sessionsSET revoked_at = NOW()WHERE id = $1;