changeset 78:1fca0cea3bfe

refactor upsertEvents
author drewp@bigasterisk.com
date Fri, 06 Sep 2024 17:54:52 -0700
parents 7041fae9549f
children 30ad34850ef1
files calsync/sync_event.go
diffstat 1 files changed, 17 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/calsync/sync_event.go	Fri Sep 06 17:54:35 2024 -0700
+++ b/calsync/sync_event.go	Fri Sep 06 17:54:52 2024 -0700
@@ -119,12 +119,13 @@
 
 func (r *calEventsReader) updateInitialRange() error {
 	events, nextSyncToken, err := r.gc.ListEventsInRange(r.cal, r.t1, r.t2)
-	r.syncToken = nextSyncToken
 	if err != nil {
 		return err
 	}
-	for _, ev := range events {
-		r.mc.UpsertOneEvent(convert.MongoEventFromGoogleEvent(&ev, time.Now() /*todo*/))
+	r.syncToken = nextSyncToken
+	err = r.upsertEvents(events)
+	if err != nil {
+		return err
 	}
 
 	return r.mc.DeleteEventsUpdatedBefore(r.cal, r.t1)
@@ -136,9 +137,20 @@
 		return fmt.Errorf("ListEventUpdates: %v", err)
 	}
 	r.syncToken = nextSyncToken
-	for _, ev := range events {
-		r.mc.UpsertOneEvent(convert.MongoEventFromGoogleEvent(&ev, time.Now() /*todo*/))
+	err = r.upsertEvents(events)
+	if err != nil {
+		return fmt.Errorf("upsertEvents: %v", err)
 	}
 
 	return nil
 }
+
+func (r *calEventsReader) upsertEvents(events []gcalclient.CalendarEvent) error {
+	for _, ev := range events {
+		err := r.mc.UpsertOneEvent(convert.MongoEventFromGoogleEvent(&ev, time.Now() /*todo*/))
+		if err != nil {
+			return err
+		}
+	}
+	return nil
+}