feat(svg): add GET endpoint for all svg templates
build / Go-Build (pull_request) Successful in 1m26s
build / Go-Build (push) Successful in 1m26s

This commit is contained in:
2026-05-18 14:41:25 +02:00
parent 4f9cb5fbe9
commit b378f30c05
2 changed files with 46 additions and 3 deletions
+39
View File
@@ -0,0 +1,39 @@
package routes
import (
"encoding/json"
"net/http"
"tomatentum.net/svg-templater/internal/database"
)
func Get(w http.ResponseWriter, r *http.Request) {
svgs, err := database.GetSVG()
if err != nil {
http.Error(w, "Cannot fetch svgs from database", http.StatusInternalServerError)
return
}
/*
data, err := json.Marshal(svgs)
if err != nil {
http.Error(w, "An Error occurred while encoding json.", http.StatusInternalServerError)
return
}
_, err = w.Write(data)
if err != nil {
http.Error(w, "Could not write data.", http.StatusInternalServerError)
return
}
*/
w.Header().Add("Content-Type", "application/json")
enc := json.NewEncoder(w)
for _, svg := range svgs {
enc.Encode(svg)
}
}
+7 -3
View File
@@ -15,11 +15,15 @@ func PrepareHTTP() {
fmt.Fprintln(w, "You are authorized!")
})
registerAuthorizedFunc("/svg/", func(w http.ResponseWriter, r *http.Request) {
if r.Method != "POST" {
http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
switch r.Method {
case "POST":
routes.CreateSVG(w, r)
return
case "GET":
routes.Get(w, r)
return
}
routes.CreateSVG(w, r)
http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
})
registerAuthorizedFunc("/svg/{id}", func(w http.ResponseWriter, r *http.Request) {
switch r.Method {