mirror of
https://github.com/muety/wakapi.git
synced 2023-08-10 21:12:56 +03:00
47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
package routes
|
|
|
|
import (
|
|
"github.com/gorilla/mux"
|
|
conf "github.com/muety/wakapi/config"
|
|
"github.com/muety/wakapi/models"
|
|
"github.com/muety/wakapi/models/view"
|
|
"github.com/muety/wakapi/services"
|
|
"net/http"
|
|
)
|
|
|
|
type ImprintHandler struct {
|
|
config *conf.Config
|
|
keyValueSrvc services.IKeyValueService
|
|
}
|
|
|
|
func NewImprintHandler(keyValueService services.IKeyValueService) *ImprintHandler {
|
|
return &ImprintHandler{
|
|
config: conf.Get(),
|
|
keyValueSrvc: keyValueService,
|
|
}
|
|
}
|
|
|
|
func (h *ImprintHandler) RegisterRoutes(router *mux.Router) {
|
|
router.Path("/imprint").Methods(http.MethodGet).HandlerFunc(h.GetImprint)
|
|
}
|
|
|
|
func (h *ImprintHandler) GetImprint(w http.ResponseWriter, r *http.Request) {
|
|
if h.config.IsDev() {
|
|
loadTemplates()
|
|
}
|
|
|
|
text := "failed to load content"
|
|
if data, err := h.keyValueSrvc.GetString(models.ImprintKey); err == nil {
|
|
text = data.Value
|
|
}
|
|
|
|
templates[conf.ImprintTemplate].Execute(w, h.buildViewModel(r).WithHtmlText(text))
|
|
}
|
|
|
|
func (h *ImprintHandler) buildViewModel(r *http.Request) *view.ImprintViewModel {
|
|
return &view.ImprintViewModel{
|
|
Success: r.URL.Query().Get("success"),
|
|
Error: r.URL.Query().Get("error"),
|
|
}
|
|
}
|