fix: FollowTarget enum — actor_url no longer lies about holding a handle

FollowCommand.target is now FollowTarget (Identity|Handle) instead of
SocialIdentity. actor_url field always holds a URL; handles go through
FollowTarget::Handle. Adapter resolves handles explicitly. Type system
prevents misuse in future commands.
This commit is contained in:
2026-07-10 16:18:57 +02:00
parent 2484f1e603
commit d60c47199c
18 changed files with 95 additions and 45 deletions

View File

@@ -16,6 +16,12 @@ impl SocialIdentity {
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum FollowTarget {
Identity(SocialIdentity),
Handle(String),
}
#[derive(Clone, Debug)]
pub struct SocialActor {
pub identity: SocialIdentity,