view calsync/event_sync.go @ 51:a9b720445bcf

now roughly syncs cals and events to mongodb, one time
author drewp@bigasterisk.com
date Mon, 19 Aug 2024 14:42:27 -0700
parents 2991c1166852
children 5f7c393577e9
line wrap: on
line source

package main

import (
	"log"
	"time"

	"bigasterisk.com/go/gcalendarwatch/convert"
	"bigasterisk.com/go/gcalendarwatch/gcalclient"
	"bigasterisk.com/go/gcalendarwatch/mongoclient"
)

func updateMongoEventsToMatchGoogle(
	mc *mongoclient.MongoClient, gc *gcalclient.GCalClient) error {
	t := time.Now()
	events, err := gc.FindEvents(mc, t, 3)
	if err != nil {
		return err
	}
	log.Println("upserting", len(events), "events")
	for _, ev := range events {
		mc.UpsertOneEvent(
			convert.MongoEventFromGoogleEvent2(ev.CalendarUrl, ev, t),
		)
	}
	mc.DeleteEventsUpdatedBefore(t)
	return nil
}