pokedex-go/pokemon/handler.go

36 lines
651 B
Go

package pokemon
import (
"fmt"
"gorm.io/gorm"
"net/http"
"pokedex/rest"
)
func HandleFindSingle(db *gorm.DB, rw http.ResponseWriter, req *http.Request) {
repo := NewRepo(db)
name := req.PathValue("name")
fmt.Println("Path " + name)
pk, err := repo.Find(name)
if err != nil {
http.Error(rw, err.Error(), http.StatusInternalServerError)
return
}
rest.Json(rw, []Pokemon{
pk,
})
}
func HandleFindAll(db *gorm.DB, rw http.ResponseWriter, req *http.Request) {
repo := NewRepo(db)
pokemons, err := repo.FindAll()
if err != nil {
http.Error(rw, err.Error(), http.StatusInternalServerError)
return
}
rest.Json(rw, pokemons)
}