pub struct Entry {
pub id: i64,
pub feed_id: i64,
pub guid: String,
pub url: Option<String>,
pub title: Option<String>,
pub author: Option<String>,
pub published: Option<String>,
pub content_html: Option<String>,
pub fetched_at: String,
}Expand description
A cached article/item belonging to a Feed. Shared cache (not per-DID).
Fields§
§id: i64§feed_id: i64§guid: StringFeed-native GUID/id, unique within a feed (used for dedup on re-fetch).
url: Option<String>§title: Option<String>§published: Option<String>Publication time as reported by the feed (RFC3339), or None.
content_html: Option<String>Article body HTML, sanitized (ammonia) by ingest before it is stored.
Not trusted on the way out. The column is plain TEXT, so nothing
here can prove which writer produced a row. The reader re-cleans it at
render with the same sanitizer, through
crate::sanitized_html::SanitizedHtml, and never emits this String
unescaped (#151). Ingest sanitizing is still what keeps the stored
value clean, and a clean value is what re-cleans byte-identically.
fetched_at: StringWhen FeatherReader first fetched/stored this entry (RFC3339).
Trait Implementations§
impl Eq for Entry
impl StructuralPartialEq for Entry
Auto Trait Implementations§
impl Freeze for Entry
impl RefUnwindSafe for Entry
impl Send for Entry
impl Sync for Entry
impl Unpin for Entry
impl UnsafeUnpin for Entry
impl UnwindSafe for Entry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more