Skip to content

Commit

Permalink
Ignore errors when fetching community mods (fixes #3460) (#3674)
Browse files Browse the repository at this point in the history
  • Loading branch information
Nutomic committed Jul 20, 2023
1 parent 3753a3b commit 1a164a6
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions crates/apub/src/collections/community_moderators.rs
Expand Up @@ -78,18 +78,20 @@ impl Collection for ApubCommunityModerators {

// Add new mods to database which have been added to moderators collection
for mod_id in apub.ordered_items {
let mod_user: ApubPerson = mod_id.dereference(data).await?;

if !current_moderators
.iter()
.map(|c| c.moderator.actor_id.clone())
.any(|x| x == mod_user.actor_id)
{
let community_moderator_form = CommunityModeratorForm {
community_id: owner.id,
person_id: mod_user.id,
};
CommunityModerator::join(&mut data.pool(), &community_moderator_form).await?;
// Ignore errors as mod accounts might be deleted or instances unavailable.
let mod_user: Option<ApubPerson> = mod_id.dereference(data).await.ok();
if let Some(mod_user) = mod_user {
if !current_moderators
.iter()
.map(|c| c.moderator.actor_id.clone())
.any(|x| x == mod_user.actor_id)
{
let community_moderator_form = CommunityModeratorForm {
community_id: owner.id,
person_id: mod_user.id,
};
CommunityModerator::join(&mut data.pool(), &community_moderator_form).await?;
}
}
}

Expand Down

0 comments on commit 1a164a6

Please sign in to comment.