view 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 source

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)
}