feat: actor cache TTL with staleness-aware re-fetch
Adds fetched_at to RemoteActor, configurable TTL via builder (.actor_cache_ttl_secs, default 24h), and get_or_refresh_remote_actor helper that re-fetches stale actors from origin. Closes #3
This commit is contained in:
@@ -8,6 +8,8 @@ pub use actor::ActorRepository;
|
||||
pub use blocklist::BlocklistRepository;
|
||||
pub use follow::FollowRepository;
|
||||
|
||||
use chrono::{DateTime, Utc};
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
pub enum FollowerStatus {
|
||||
Pending,
|
||||
@@ -35,6 +37,10 @@ pub struct RemoteActor {
|
||||
pub followers_url: Option<String>,
|
||||
pub following_url: Option<String>,
|
||||
pub also_known_as: Vec<String>,
|
||||
/// When this actor was last fetched from the origin instance.
|
||||
/// `None` means unknown — treated as always-fresh to avoid
|
||||
/// breaking existing consumers that don't populate this field.
|
||||
pub fetched_at: Option<DateTime<Utc>>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
|
||||
Reference in New Issue
Block a user