prime8dev

prime8dev
git clone https://git.prime8.dev/prime8dev.git
Log | Files | Refs | README | LICENSE

handler.go (594B)


      1 package handlers
      2 
      3 import (
      4 	"time"
      5 
      6 	"git.prime8.dev/moncheeta/prime8dev/internal/external"
      7 	"git.prime8.dev/moncheeta/prime8dev/internal/web"
      8 	"github.com/patrickmn/go-cache"
      9 )
     10 
     11 type Handler struct {
     12 	renderer        *web.Renderer
     13 	gitService      *external.Git
     14 	wakaTimeService *external.WakaTime
     15 }
     16 
     17 func NewHandler() (*Handler, error) {
     18 	renderer, err := web.New()
     19 	if err != nil {
     20 		return nil, err
     21 	}
     22 
     23 	c := cache.New(5*time.Minute, 10*time.Minute)
     24 
     25 	return &Handler{
     26 		renderer:        renderer,
     27 		gitService:      external.NewGit(),
     28 		wakaTimeService: external.NewWakaTime(c),
     29 	}, nil
     30 }