FILE / Unmei/Backend
routes/genres.go
Исходный файл и его история в репозитории.
43 lines
914 B
Go
43 lines
914 B
Go
package routes
|
|
|
|
import (
|
|
"backend/database"
|
|
"github.com/go-chi/chi/v5"
|
|
"net/http"
|
|
)
|
|
|
|
func RegisterGenresRoutes(r chi.Router) {
|
|
r.Route("/", func(s chi.Router) {
|
|
s.Get("/", getGenres)
|
|
s.Post("/", addGenre)
|
|
})
|
|
r.Route("/{id:[0-9]+}", func(s chi.Router) {
|
|
s.Get("/", getGenre)
|
|
})
|
|
r.Route("/{id:[0-9]+}/novels", func(s chi.Router) {
|
|
s.Get("/", getGenreNovels)
|
|
})
|
|
}
|
|
|
|
func getGenres(w http.ResponseWriter, r *http.Request) {
|
|
genres, err := database.FetchGenres()
|
|
Response(w, err, genres)
|
|
}
|
|
func addGenre(w http.ResponseWriter, r *http.Request) {
|
|
RawError(w, "method not implemented")
|
|
}
|
|
|
|
func getGenre(w http.ResponseWriter, r *http.Request) {
|
|
id := IURLParam(r, "id")
|
|
|
|
genre, err := database.FetchGenre(id)
|
|
Response(w, err, genre)
|
|
}
|
|
|
|
func getGenreNovels(w http.ResponseWriter, r *http.Request) {
|
|
id := IURLParam(r, "id")
|
|
|
|
novels, err := database.FetchGenreNovels(id)
|
|
Response(w, err, novels)
|
|
}
|