package main import ( autocal_config "autocal/config" "autocal/jobs" "autocal/token" "context" "os" "github.com/charmbracelet/log" "golang.org/x/oauth2/google" "google.golang.org/api/calendar/v3" "google.golang.org/api/option" ) func main() { ctx := context.Background() b, err := os.ReadFile("credentials.json") if err != nil { log.Fatal("Unable to read client secret file", "err", err) } // Setup oauth2 config config, err := google.ConfigFromJSON(b, calendar.CalendarScope) if err != nil { log.Fatal("Unable to parse client secret file to config", "err", err) } // Get oauth2 client client := token.GetClient(config) // Setup calendar service calService, err := calendar.NewService(ctx, option.WithHTTPClient(client)) if err != nil { log.Fatal("Unable to retrieve Calendar client", "err", err) } // Parse autocal.yml calConfig, err := autocal_config.ParseAutocal("./autocal.yml") if err != nil { log.Fatal(err) } // Start job jobs.Start(calService, calConfig) }