package api import ( "encoding/json" "net/http" "gitea.qpismont.fr/qpismont/trepa/internal/core" "gitea.qpismont.fr/qpismont/trepa/internal/variables/domain" ) type Controller struct { service domain.VariableService } func NewController(service domain.VariableService) Controller { return Controller{service: service} } func (c Controller) GetVariableByName(w *core.Response, r *http.Request) { name := r.PathValue("name") variable, httpErr := c.service.GetVariable(name) if httpErr != nil { w.WriteError(httpErr) return } response := GetVariableResponse{ Name: variable.Name, Value: variable.Value, } responseJson, err := json.Marshal(response) if err != nil { w.WriteError(core.NewInternalServerError(err)) return } w.Json(responseJson) }