diff calsync/cal_sync.go @ 49:2991c1166852

start calsync in go. Calendar list seems to sync
author drewp@bigasterisk.com
date Mon, 19 Aug 2024 13:25:03 -0700
parents
children a9b720445bcf
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calsync/cal_sync.go	Mon Aug 19 13:25:03 2024 -0700
@@ -0,0 +1,29 @@
+package main
+
+import (
+	"log"
+
+	"bigasterisk.com/go/gcalendarwatch/convert"
+	"bigasterisk.com/go/gcalendarwatch/gcalclient"
+	"bigasterisk.com/go/gcalendarwatch/mongoclient"
+)
+
+func updateMongoCalsToMatchGoogle(mc *mongoclient.MongoClient, gc *gcalclient.GCalClient) (err error) {
+	log.Println("updateMongoCalsToMatchGoogle")
+
+	seen := make(map[string]bool)
+
+	cals, err := gc.AllCalendars()
+	if err != nil {
+		return err
+	}
+
+	for _, cal := range cals {
+		calUrl := gcalclient.MakeCalUrl(cal.Id)
+		log.Println("syncing", calUrl)
+		seen[calUrl] = true
+		mc.UpsertOneCal(convert.MongoCalFromGoogleCal(cal))
+	}
+
+	return mc.DeleteCalsNotInSet(seen)
+}