diff --git a/backend/main.go b/backend/main.go index ef5f2e9..7ad91e1 100644 --- a/backend/main.go +++ b/backend/main.go @@ -74,6 +74,28 @@ func main() { w.Header().Add("Access-Control-Allow-Headers", "*") }) + mux.HandleFunc("GET /image", func(w http.ResponseWriter, r *http.Request) { + userId := r.Header.Get("userId") + + images, err := models.GetUserImages(userId) + if err != nil { + log.Println(err) + w.WriteHeader(http.StatusNotFound) + fmt.Fprintf(w, "Something went wrong") + return + } + + jsonImages, err := json.Marshal(images) + if err != nil { + log.Println(err) + w.WriteHeader(http.StatusBadRequest) + fmt.Fprintf(w, "Could not create JSON response for this image") + return + } + + w.Write(jsonImages) + }) + mux.HandleFunc("GET /image/{id}", func(w http.ResponseWriter, r *http.Request) { imageId := r.PathValue("id") diff --git a/backend/models/image.go b/backend/models/image.go index 148d2dc..9fed339 100644 --- a/backend/models/image.go +++ b/backend/models/image.go @@ -33,3 +33,13 @@ func GetImage(imageId string) (model.UserImages, error) { return images[0], err } + +func GetUserImages(userId string) ([]model.UserImages, error) { + id := uuid.MustParse(userId) + stmt := UserImages.SELECT(UserImages.ID, UserImages.ImageName).WHERE(UserImages.UserID.EQ(UUID(id))) + + images := []model.UserImages{} + err := stmt.Query(db, &images) + + return images, err +}