Files
autocal/main.go
2026-03-05 19:06:17 -05:00

47 lines
1011 B
Go

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