From 0d87b50cee2b2068f3ab219ff2f37427f91a083f Mon Sep 17 00:00:00 2001 From: Lucas BEE Date: Thu, 18 May 2017 13:46:22 +0200 Subject: [PATCH] Add route to list torrents of a user's polochon --- src/internal/torrents/handlers.go | 21 +++++++++++++++++++++ src/routes.go | 1 + 2 files changed, 22 insertions(+) diff --git a/src/internal/torrents/handlers.go b/src/internal/torrents/handlers.go index 20a51c8..6929293 100644 --- a/src/internal/torrents/handlers.go +++ b/src/internal/torrents/handlers.go @@ -42,3 +42,24 @@ func DownloadHandler(env *web.Env, w http.ResponseWriter, r *http.Request) error return env.RenderOK(w, "Torrent added") } + +// ListHandler downloads a movie via polochon +func ListHandler(env *web.Env, w http.ResponseWriter, r *http.Request) error { + v := auth.GetCurrentUser(r, env.Log) + user, ok := v.(*users.User) + if !ok { + return env.RenderError(w, errors.New("invalid user type")) + } + + client, err := user.NewPapiClient() + if err != nil { + return env.RenderError(w, err) + } + + torrents, err := client.GetTorrents() + if err != nil { + return env.RenderError(w, err) + } + + return env.RenderJSON(w, torrents) +} diff --git a/src/routes.go b/src/routes.go index 60866dd..02a7292 100644 --- a/src/routes.go +++ b/src/routes.go @@ -49,6 +49,7 @@ func setupRoutes(env *web.Env) { // Torrents routes env.Handle("/torrents", torrents.DownloadHandler).WithRole(users.UserRole).Methods("POST") + env.Handle("/torrents", torrents.ListHandler).WithRole(users.UserRole).Methods("GET") // Route to refresh all movies and shows env.Handle("/refresh", extmedias.RefreshHandler).WithRole(users.AdminRole).Methods("POST")