mirror of
https://gitlab.com/foxixus/neomovies-api.git
synced 2025-10-27 17:38:51 +05:00
Add WebTorrent Player(Experimental)
This commit is contained in:
19
api/index.go
19
api/index.go
@@ -55,16 +55,19 @@ func Handler(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
movieService := services.NewMovieService(globalDB, tmdbService)
|
||||
tvService := services.NewTVService(globalDB, tmdbService)
|
||||
favoritesService := services.NewFavoritesService(globalDB, tmdbService)
|
||||
torrentService := services.NewTorrentServiceWithConfig(globalCfg.RedAPIBaseURL, globalCfg.RedAPIKey)
|
||||
reactionsService := services.NewReactionsService(globalDB)
|
||||
|
||||
authHandler := handlersPkg.NewAuthHandler(authService)
|
||||
movieHandler := handlersPkg.NewMovieHandler(movieService)
|
||||
tvHandler := handlersPkg.NewTVHandler(tvService)
|
||||
favoritesHandler := handlersPkg.NewFavoritesHandler(favoritesService)
|
||||
docsHandler := handlersPkg.NewDocsHandler()
|
||||
searchHandler := handlersPkg.NewSearchHandler(tmdbService)
|
||||
categoriesHandler := handlersPkg.NewCategoriesHandler(tmdbService)
|
||||
playersHandler := handlersPkg.NewPlayersHandler(globalCfg)
|
||||
webtorrentHandler := handlersPkg.NewWebTorrentHandler(tmdbService)
|
||||
torrentsHandler := handlersPkg.NewTorrentsHandler(torrentService, tmdbService)
|
||||
reactionsHandler := handlersPkg.NewReactionsHandler(reactionsService)
|
||||
imagesHandler := handlersPkg.NewImagesHandler()
|
||||
@@ -84,15 +87,19 @@ func Handler(w http.ResponseWriter, r *http.Request) {
|
||||
api.HandleFunc("/auth/google/login", authHandler.GoogleLogin).Methods("GET")
|
||||
api.HandleFunc("/auth/google/callback", authHandler.GoogleCallback).Methods("GET")
|
||||
|
||||
router.HandleFunc("/search/multi", searchHandler.MultiSearch).Methods("GET")
|
||||
api.HandleFunc("/search/multi", searchHandler.MultiSearch).Methods("GET")
|
||||
|
||||
api.HandleFunc("/categories", categoriesHandler.GetCategories).Methods("GET")
|
||||
api.HandleFunc("/categories/{id}/movies", categoriesHandler.GetMoviesByCategory).Methods("GET")
|
||||
api.HandleFunc("/categories/{id}/media", categoriesHandler.GetMediaByCategory).Methods("GET")
|
||||
|
||||
api.HandleFunc("/players/alloha/{imdb_id}", playersHandler.GetAllohaPlayer).Methods("GET")
|
||||
api.HandleFunc("/players/lumex/{imdb_id}", playersHandler.GetLumexPlayer).Methods("GET")
|
||||
api.HandleFunc("/players/vibix/{imdb_id}", playersHandler.GetVibixPlayer).Methods("GET")
|
||||
|
||||
api.HandleFunc("/webtorrent/player", webtorrentHandler.OpenPlayer).Methods("GET")
|
||||
api.HandleFunc("/webtorrent/metadata", webtorrentHandler.GetMetadata).Methods("GET")
|
||||
|
||||
api.HandleFunc("/torrents/search/{imdbId}", torrentsHandler.SearchTorrents).Methods("GET")
|
||||
api.HandleFunc("/torrents/movies", torrentsHandler.SearchMovies).Methods("GET")
|
||||
api.HandleFunc("/torrents/series", torrentsHandler.SearchSeries).Methods("GET")
|
||||
@@ -127,9 +134,10 @@ func Handler(w http.ResponseWriter, r *http.Request) {
|
||||
protected := api.PathPrefix("").Subrouter()
|
||||
protected.Use(middleware.JWTAuth(globalCfg.JWTSecret))
|
||||
|
||||
protected.HandleFunc("/favorites", movieHandler.GetFavorites).Methods("GET")
|
||||
protected.HandleFunc("/favorites/{id}", movieHandler.AddToFavorites).Methods("POST")
|
||||
protected.HandleFunc("/favorites/{id}", movieHandler.RemoveFromFavorites).Methods("DELETE")
|
||||
protected.HandleFunc("/favorites", favoritesHandler.GetFavorites).Methods("GET")
|
||||
protected.HandleFunc("/favorites/{id}", favoritesHandler.AddToFavorites).Methods("POST")
|
||||
protected.HandleFunc("/favorites/{id}", favoritesHandler.RemoveFromFavorites).Methods("DELETE")
|
||||
protected.HandleFunc("/favorites/{id}/check", favoritesHandler.CheckIsFavorite).Methods("GET")
|
||||
|
||||
protected.HandleFunc("/auth/profile", authHandler.GetProfile).Methods("GET")
|
||||
protected.HandleFunc("/auth/profile", authHandler.UpdateProfile).Methods("PUT")
|
||||
@@ -143,8 +151,9 @@ func Handler(w http.ResponseWriter, r *http.Request) {
|
||||
corsHandler := handlers.CORS(
|
||||
handlers.AllowedOrigins([]string{"*"}),
|
||||
handlers.AllowedMethods([]string{"GET", "POST", "PUT", "DELETE", "OPTIONS"}),
|
||||
handlers.AllowedHeaders([]string{"Authorization", "Content-Type", "Accept", "Origin", "X-Requested-With"}),
|
||||
handlers.AllowedHeaders([]string{"Authorization", "Content-Type", "Accept", "Origin", "X-Requested-With", "X-CSRF-Token"}),
|
||||
handlers.AllowCredentials(),
|
||||
handlers.ExposedHeaders([]string{"Authorization", "Content-Type"}),
|
||||
)
|
||||
|
||||
corsHandler(router).ServeHTTP(w, r)
|
||||
|
||||
Reference in New Issue
Block a user