Files
gowebmail/internal/handlers/handlers.go

31 lines
746 B
Go
Raw Normal View History

2026-03-07 06:20:39 +00:00
package handlers
import (
"log"
"github.com/ghostersk/gowebmail/config"
"github.com/ghostersk/gowebmail/internal/db"
"github.com/ghostersk/gowebmail/internal/syncer"
2026-03-07 06:20:39 +00:00
)
type Handlers struct {
Auth *AuthHandler
App *AppHandler
API *APIHandler
Admin *AdminHandler
}
func New(database *db.DB, cfg *config.Config, sc *syncer.Scheduler) *Handlers {
renderer, err := NewRenderer()
if err != nil {
log.Fatalf("failed to load templates: %v", err)
}
return &Handlers{
Auth: &AuthHandler{db: database, cfg: cfg, renderer: renderer},
App: &AppHandler{db: database, cfg: cfg, renderer: renderer},
API: &APIHandler{db: database, cfg: cfg, syncer: sc},
Admin: &AdminHandler{db: database, cfg: cfg, renderer: renderer},
}
}