pub struct SyncView {
pub actor: Option<String>,
pub created_at: Option<String>,
pub direction: Option<String>,
pub id: Option<String>,
pub kind: Option<String>,
pub source: Option<Box<EndpointView>>,
pub target: Option<Box<EndpointView>>,
pub trigger: Option<String>,
pub updated_at: Option<String>,
}Fields§
§actor: Option<String>Actor is the identity a reconcile writes AS. It is the loop guard: a change this identity made is one we already have, so it is not synced back.
created_at: Option<String>CreatedAt is when the link was first declared, RFC3339 in UTC.
direction: Option<String>Direction is which way work flows: "both", "pull" (target ← source), "push" (source → target), or "off" — which keeps the link declared and moves nothing.
id: Option<String>ID is the link’s handle, derived from its source and target — which is what makes re-declaring the same pair an update rather than a duplicate.
kind: Option<String>Kind is what is being synced. "git" today; the field exists so a storage or database link is a value here rather than a second route family.
source: Option<Box<EndpointView>>Source is the side read FROM on a pull.
target: Option<Box<EndpointView>>Target is the side written TO on a push.
trigger: Option<String>Trigger is what starts a reconcile: "webhook" (the provider tells us), "poll" (we ask on a schedule), or "manual" (only an explicit call).
updated_at: Option<String>UpdatedAt is bumped by every reconcile, so it reads as the LAST-SYNCED time rather than the last edit. Absent until the first one runs.