diff --git a/src/internal/movies/handlers.go b/src/internal/movies/handlers.go index 8fe2a4d..08c14e8 100644 --- a/src/internal/movies/handlers.go +++ b/src/internal/movies/handlers.go @@ -6,6 +6,7 @@ import ( "net/http" "net/url" + "github.com/gorilla/mux" "github.com/odwrtw/papi" polochon "github.com/odwrtw/polochon/lib" "github.com/odwrtw/polochon/modules/pam" @@ -134,3 +135,16 @@ func ExplorePopular(env *web.Env, w http.ResponseWriter, r *http.Request) error return env.RenderJSON(w, movies) } + +// GetDetailsHandler retrieves details for a movie +func GetDetailsHandler(env *web.Env, w http.ResponseWriter, r *http.Request) error { + vars := mux.Vars(r) + id := vars["id"] + + m := New(id) + if err := m.GetDetails(env, true); err != nil { + return err + } + + return env.RenderJSON(w, m) +} diff --git a/src/main.go b/src/main.go index 413482e..f43ad06 100644 --- a/src/main.go +++ b/src/main.go @@ -75,6 +75,7 @@ func main() { env.Handle("/movies/polochon", movies.FromPolochon).WithRole(users.UserRole) env.Handle("/movies/explore/popular", movies.ExplorePopular).WithRole(users.UserRole) + env.Handle("/movies/{id:tt[0-9]+}/get_details", movies.GetDetailsHandler).WithRole(users.UserRole) n := negroni.Classic() n.Use(authMiddleware)