summaryrefslogtreecommitdiff
path: root/cmd/dashboard/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/dashboard/main.go')
-rw-r--r--cmd/dashboard/main.go15
1 files changed, 12 insertions, 3 deletions
diff --git a/cmd/dashboard/main.go b/cmd/dashboard/main.go
index fd2c024..3d8b330 100644
--- a/cmd/dashboard/main.go
+++ b/cmd/dashboard/main.go
@@ -83,9 +83,18 @@ func main() {
planToEatClient = api.NewPlanToEatClient(cfg.PlanToEatAPIKey)
}
+ var googleCalendarClient api.GoogleCalendarAPI
+ if cfg.HasGoogleCalendar() {
+ var err error
+ googleCalendarClient, err = api.NewGoogleCalendarClient(context.Background(), cfg.GoogleCredentialsFile, cfg.GoogleCalendarID)
+ if err != nil {
+ log.Printf("Warning: failed to initialize Google Calendar client: %v", err)
+ }
+ }
+
// Initialize handlers
- h := handlers.New(db, todoistClient, trelloClient, planToEatClient, cfg)
- tabsHandler := handlers.NewTabsHandler(db, cfg.TemplateDir)
+ h := handlers.New(db, todoistClient, trelloClient, planToEatClient, googleCalendarClient, cfg)
+ tabsHandler := handlers.NewTabsHandler(db, googleCalendarClient, cfg.TemplateDir)
// Set up router
r := chi.NewRouter()
@@ -94,7 +103,7 @@ func main() {
r.Use(middleware.Logger)
r.Use(middleware.Recoverer)
r.Use(middleware.Timeout(60 * time.Second))
- r.Use(sessionManager.LoadAndSave) // Session middleware must be applied globally
+ r.Use(sessionManager.LoadAndSave) // Session middleware must be applied globally
r.Use(authHandlers.Middleware().CSRFProtect) // CSRF protection
// Public routes (no auth required)