package routes
import (
	"embed"
	"html/template"
	"net/http"
	"git.sr.ht/~gabrielgio/midr/controller"
	"git.sr.ht/~gabrielgio/midr/db"
	"git.sr.ht/~gabrielgio/midr/worker"
	"github.com/gin-gonic/gin"
)
func HandleRequests(f embed.FS) {
	models := db.EntryModel{DB: db.DB}
	worker := worker.NewWorkder()
	env := &controller.Env{
		Entries: models,
		Worker:  worker,
	}
	env.StartScheduler()
	r := gin.Default()
	templ := template.Must(template.New("").ParseFS(f, "templates/*.tmpl"))
	r.SetHTMLTemplate(templ)
	r.StaticFS("/p", http.FS(f))
	r.GET("/", env.GetEntries)
	r.GET("/entries/", env.GetEntries)
	r.GET("entries/createEntry", env.GetEntry)
	r.POST("entries/", env.CreateEntry)
	r.GET("entries/:id", env.GetEntry)
	r.POST("entries/:id", env.UpdateEntry)
	r.DELETE("entries/:id", env.DeleteEntry)
	r.GET("jobs/", env.GetJobs)
	r.Run(":8000")
}