package view

import (
	"net/http"

	"xengineering.eu/ceres/model"
)

func RecipesRead(db *model.DB) http.Handler {
	return http.HandlerFunc(
		func(w http.ResponseWriter, r *http.Request) {
			recipes := make(model.Recipes, 0)

			var obj model.Object = &recipes
			err := db.Transaction(obj.Read)
			if err != nil {
				http.Error(w, err.Error(), http.StatusInternalServerError)
				return
			}

			err = html.ExecuteTemplate(w, "recipes", recipes)
			if err != nil {
				http.Error(w, err.Error(), http.StatusInternalServerError)
				return
			}
		},
	)
}