package models import ( "time" "github.com/zitadel/zitadel/internal/eventstore" ) type ObjectRoot struct { AggregateID string `json:"-"` Sequence uint64 `json:"-"` ResourceOwner string `json:"-"` InstanceID string `json:"-"` CreationDate time.Time `json:"-"` ChangeDate time.Time `json:"-"` } func (o *ObjectRoot) AppendEvent(event eventstore.Event) { if o.AggregateID == "" { o.AggregateID = event.Aggregate().ID } else if o.AggregateID != event.Aggregate().ID { return } if o.ResourceOwner == "" { o.ResourceOwner = event.Aggregate().ResourceOwner } if o.InstanceID == "" { o.InstanceID = event.Aggregate().InstanceID } o.ChangeDate = event.CreatedAt() if o.CreationDate.IsZero() { o.CreationDate = o.ChangeDate } o.Sequence = event.Sequence() } func (o *ObjectRoot) IsZero() bool { return o.AggregateID == "" }