diff --git a/src/internal/connector/exchange/event.go b/src/internal/connector/exchange/event.go index e39bc46ce..c30a5ec76 100644 --- a/src/internal/connector/exchange/event.go +++ b/src/internal/connector/exchange/event.go @@ -11,9 +11,11 @@ import ( // EventInfo searchable metadata for stored event objects. func EventInfo(evt models.Eventable) *details.ExchangeInfo { - organizer := "" - subject := "" - start := time.Time{} + var ( + organizer, subject string + recurs bool + start = time.Time{} + ) if evt.GetOrganizer() != nil && evt.GetOrganizer().GetEmailAddress() != nil && @@ -27,6 +29,10 @@ func EventInfo(evt models.Eventable) *details.ExchangeInfo { subject = *evt.GetSubject() } + if evt.GetRecurrence() != nil { + recurs = true + } + if evt.GetStart() != nil && evt.GetStart().GetDateTime() != nil { // timeString has 'Z' literal added to ensure the stored @@ -40,8 +46,9 @@ func EventInfo(evt models.Eventable) *details.ExchangeInfo { } return &details.ExchangeInfo{ - Organizer: organizer, - Subject: subject, - EventStart: start, + Organizer: organizer, + Subject: subject, + EventStart: start, + EventRecurs: recurs, } } diff --git a/src/pkg/backup/details/details.go b/src/pkg/backup/details/details.go index 9459fabed..42cbb7f8f 100644 --- a/src/pkg/backup/details/details.go +++ b/src/pkg/backup/details/details.go @@ -142,6 +142,7 @@ type ExchangeInfo struct { EventStart time.Time `json:"eventStart,omitempty"` Organizer string `json:"organizer,omitempty"` ContactName string `json:"contactName,omitempty"` + EventRecurs bool `json:"eventRecurs,omitempty"` } // Headers returns the human-readable names of properties in an ExchangeInfo