fix logic in src/feed crashing when a feed entry doesn't have the required attributes

instead the entry just isn't included, as it always should've been.
This commit is contained in:
りき萌 2025-08-26 20:19:25 +02:00
parent 73cd7efcf7
commit 9938bba666

View file

@ -16,9 +16,8 @@ pub fn generate(sources: &Sources, tag_name: &str) -> Option<Vec<FeedEntry>> {
let tag = sources.treehouse.tags.get(tag_name)?;
for file_id in &tag.files {
if let Some(roots) = sources.treehouse.roots.get(file_id)
&& let Some(id) = roots.attributes.id.clone()
{
if let Some(roots) = sources.treehouse.roots.get(file_id) {
if let Some(id) = roots.attributes.id.clone() {
entries.push(FeedEntry {
id,
updated: roots.attributes.timestamps.map(|ts| ts.updated),
@ -30,9 +29,9 @@ pub fn generate(sources: &Sources, tag_name: &str) -> Option<Vec<FeedEntry>> {
title: roots.attributes.title.clone(),
tags: roots.attributes.tags.clone(),
});
} else if let Some(doc) = sources.treehouse.docs.get(file_id)
&& !doc.attributes.id.is_empty()
{
}
} else if let Some(doc) = sources.treehouse.docs.get(file_id) {
if !doc.attributes.id.is_empty() && doc.attributes.updated.is_some() {
entries.push(FeedEntry {
id: doc.attributes.id.clone(),
updated: doc.attributes.updated,
@ -44,6 +43,7 @@ pub fn generate(sources: &Sources, tag_name: &str) -> Option<Vec<FeedEntry>> {
title: doc.attributes.title.clone(),
tags: doc.attributes.tags.clone(),
});
}
} else {
unreachable!(
"{file_id:?} registered in tag #{tag_name} is not actually in the treehouse"