Add GET endpoint for all svg templates #15

Merged
tueem merged 1 commits from feat/get into dev 2026-05-18 12:57:40 +00:00
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 {