package main

import (
	"context"
	"time"

	"code.hackerspace.pl/hscloud/hswaw/site/calendar"
	"github.com/golang/glog"
)

func (s *service) eventsWorker(ctx context.Context) {
	get := func() {
		events, err := calendar.GetUpcomingEvents(ctx, time.Now())
		if err != nil {
			glog.Errorf("Geting events failed: %v", err)
			return
		}

		s.eventsMu.Lock()
		s.events = events
		s.eventsMu.Unlock()
	}
	// Perform initial fetch.
	get()

	// .. and update very minute.
	t := time.NewTicker(time.Minute)
	defer t.Stop()

	for {
		select {
		case <-ctx.Done():
			return
		case <-t.C:
			get()
		}
	}
}

func (s *service) getEvents() []*calendar.UpcomingEvent {
	s.eventsMu.RLock()
	events := s.events
	s.eventsMu.RUnlock()
	return events
}
