From 07eefe18709d9bb359373426ff23598fb6f0d0d3 Mon Sep 17 00:00:00 2001 From: Lucas BEE Date: Thu, 20 Jun 2019 12:56:10 +0000 Subject: [PATCH] Rename backend/backend in backend/models --- backend/admins/users.go | 8 +- backend/auth/auth.go | 10 +- backend/auth/middleware.go | 6 +- backend/events/torrents.go | 4 +- backend/external_medias/external_medias.go | 12 +-- backend/external_medias/handlers.go | 14 +-- backend/main.go | 4 +- backend/{backend => models}/backend.go | 2 +- backend/{backend => models}/detailer.go | 2 +- .../{backend => models}/episode_torrents.go | 2 +- backend/{backend => models}/episodes.go | 2 +- backend/{backend => models}/explorer.go | 2 +- backend/{backend => models}/imdb_ratings.go | 2 +- backend/{backend => models}/movie_torrents.go | 2 +- backend/{backend => models}/movie_wishlist.go | 2 +- backend/{backend => models}/movies.go | 2 +- backend/{backend => models}/polochons.go | 2 +- backend/{backend => models}/show_wishlist.go | 2 +- backend/{backend => models}/shows.go | 2 +- backend/{backend => models}/torrenter.go | 2 +- backend/{backend => models}/users.go | 2 +- backend/movies/handlers.go | 12 +-- backend/movies/movies.go | 10 +- backend/polochons/handlers.go | 16 +-- backend/ratings/ratings.go | 6 +- backend/routes.go | 98 +++++++++---------- backend/shows/episodes.go | 6 +- backend/shows/handlers.go | 14 +-- backend/shows/shows.go | 10 +- backend/users/handlers.go | 6 +- 30 files changed, 132 insertions(+), 132 deletions(-) rename backend/{backend => models}/backend.go (97%) rename backend/{backend => models}/detailer.go (99%) rename backend/{backend => models}/episode_torrents.go (99%) rename backend/{backend => models}/episodes.go (99%) rename backend/{backend => models}/explorer.go (99%) rename backend/{backend => models}/imdb_ratings.go (98%) rename backend/{backend => models}/movie_torrents.go (99%) rename backend/{backend => models}/movie_wishlist.go (99%) rename backend/{backend => models}/movies.go (99%) rename backend/{backend => models}/polochons.go (99%) rename backend/{backend => models}/show_wishlist.go (99%) rename backend/{backend => models}/shows.go (99%) rename backend/{backend => models}/torrenter.go (99%) rename backend/{backend => models}/users.go (99%) diff --git a/backend/admins/users.go b/backend/admins/users.go index 220b442..406f259 100644 --- a/backend/admins/users.go +++ b/backend/admins/users.go @@ -5,8 +5,8 @@ import ( "fmt" "net/http" - "git.quimbo.fr/odwrtw/canape/backend/backend" "git.quimbo.fr/odwrtw/canape/backend/config" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/web" "github.com/gorilla/mux" @@ -21,7 +21,7 @@ func GetUsersHandler(env *web.Env, w http.ResponseWriter, r *http.Request) error log.Debug("Getting users") - users, err := backend.GetAllUsers(env.Database) + users, err := models.GetAllUsers(env.Database) if err != nil { return env.RenderError(w, err) } @@ -39,7 +39,7 @@ func GenerateUserToken(env *web.Env, w http.ResponseWriter, r *http.Request) err vars := mux.Vars(r) username := vars["username"] - user, err := backend.GetUser(env.Database, username) + user, err := models.GetUser(env.Database, username) if err != nil { return err } @@ -79,7 +79,7 @@ func UpdateUserHandler(env *web.Env, w http.ResponseWriter, r *http.Request) err return env.RenderError(w, fmt.Errorf("Empty user id")) } - user, err := backend.GetUserByID(env.Database, data.ID) + user, err := models.GetUserByID(env.Database, data.ID) if err != nil { return err } diff --git a/backend/auth/auth.go b/backend/auth/auth.go index a2dc07d..5773756 100644 --- a/backend/auth/auth.go +++ b/backend/auth/auth.go @@ -6,7 +6,7 @@ import ( "strings" "time" - "git.quimbo.fr/odwrtw/canape/backend/backend" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/tokens" jwt "github.com/dgrijalva/jwt-go" "github.com/jmoiron/sqlx" @@ -57,7 +57,7 @@ func (a *Authorizer) GenHash(password string) (string, error) { } // GenerateJWTToken generates a JWT token for a user -func (a *Authorizer) GenerateJWTToken(r *http.Request, u *backend.User) (*tokens.Token, error) { +func (a *Authorizer) GenerateJWTToken(r *http.Request, u *models.User) (*tokens.Token, error) { // Create a jwt token jwtToken := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{ // Not before @@ -85,7 +85,7 @@ func (a *Authorizer) GenerateJWTToken(r *http.Request, u *backend.User) (*tokens // Login cheks password and creates a jwt token func (a *Authorizer) Login(r *http.Request, username, password string) (*tokens.Token, error) { - u, err := backend.GetUser(a.db, username) + u, err := models.GetUser(a.db, username) if err != nil { return nil, err } @@ -109,7 +109,7 @@ func (a *Authorizer) Login(r *http.Request, username, password string) (*tokens. } // CurrentUser returns the logged in username from session and verifies the token -func (a *Authorizer) CurrentUser(rw http.ResponseWriter, req *http.Request) (*backend.User, error) { +func (a *Authorizer) CurrentUser(rw http.ResponseWriter, req *http.Request) (*models.User, error) { var tokenStr string h := req.Header.Get("Authorization") if h != "" { @@ -151,7 +151,7 @@ func (a *Authorizer) CurrentUser(rw http.ResponseWriter, req *http.Request) (*ba } // Get the user - u, err := backend.GetUser(a.db, tokenClaims.Username) + u, err := models.GetUser(a.db, tokenClaims.Username) if err != nil { return nil, err } diff --git a/backend/auth/middleware.go b/backend/auth/middleware.go index 05e7254..3638620 100644 --- a/backend/auth/middleware.go +++ b/backend/auth/middleware.go @@ -5,7 +5,7 @@ import ( "net" "net/http" - "git.quimbo.fr/odwrtw/canape/backend/backend" + "git.quimbo.fr/odwrtw/canape/backend/models" "github.com/sirupsen/logrus" ) @@ -90,7 +90,7 @@ func (m *MiddlewareRole) ServeHTTP(w http.ResponseWriter, r *http.Request, next } // GetCurrentUser gets the current user from the request context -func GetCurrentUser(r *http.Request, log *logrus.Entry) *backend.User { +func GetCurrentUser(r *http.Request, log *logrus.Entry) *models.User { log.Debug("getting user from context") ctxKey := authContextKey("auth.user") @@ -98,7 +98,7 @@ func GetCurrentUser(r *http.Request, log *logrus.Entry) *backend.User { if u == nil { return nil } - user, ok := u.(*backend.User) + user, ok := u.(*models.User) if !ok { panic("invalid user type") } diff --git a/backend/events/torrents.go b/backend/events/torrents.go index 77e70c1..c840ed2 100644 --- a/backend/events/torrents.go +++ b/backend/events/torrents.go @@ -4,7 +4,7 @@ import ( "reflect" "time" - "git.quimbo.fr/odwrtw/canape/backend/backend" + "git.quimbo.fr/odwrtw/canape/backend/models" "github.com/odwrtw/papi" "github.com/sirupsen/logrus" ) @@ -12,7 +12,7 @@ import ( // TorrentNotifier is a struct implementing the Notifier interface type TorrentNotifier struct { *Notifier - user *backend.User + user *models.User client *papi.Client torrents []papi.Torrent log *logrus.Entry diff --git a/backend/external_medias/external_medias.go b/backend/external_medias/external_medias.go index 29260b8..30df403 100644 --- a/backend/external_medias/external_medias.go +++ b/backend/external_medias/external_medias.go @@ -3,7 +3,7 @@ package extmedias import ( "fmt" - "git.quimbo.fr/odwrtw/canape/backend/backend" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/movies" "git.quimbo.fr/odwrtw/canape/backend/shows" "git.quimbo.fr/odwrtw/canape/backend/web" @@ -70,7 +70,7 @@ func GetMediaIDs(env *web.Env, mediaType string, source string, category string) log.Debugf("got %d medias from %s", len(ids), source) // Upserts the new Media entry - media := &backend.Media{ + media := &models.Media{ Type: mediaType, Source: source, Category: category, @@ -117,7 +117,7 @@ func RefreshShows(env *web.Env) { } // Iterate over all the wishlisted shows - wishlistedList, err := backend.GetAllWishlistedShows(env.Database) + wishlistedList, err := models.GetAllWishlistedShows(env.Database) if err != nil { env.Log.Warnf("error while getting list of wishlisted shows: %s", err) return @@ -183,7 +183,7 @@ func RefreshMovies(env *web.Env) { } // Iterate over all the wishlisted movies - wishlistedList, err := backend.GetAllWishlistedMovies(env.Database) + wishlistedList, err := models.GetAllWishlistedMovies(env.Database) if err != nil { env.Log.Warnf("error while getting list of wishlisted movies %q", err) return @@ -227,7 +227,7 @@ func GetShowOptions(env *web.Env) (map[string][]string, error) { "function": "extmedias.GetShowOptions", }) log.Debugf("getting explorer show options") - e, err := backend.GetMediaOptions(env.Database, "show") + e, err := models.GetMediaOptions(env.Database, "show") if err != nil { return nil, err } @@ -240,7 +240,7 @@ func GetMovieOptions(env *web.Env) (map[string][]string, error) { "function": "extmedias.GetMovieOptions", }) log.Debugf("getting explorer movie options") - e, err := backend.GetMediaOptions(env.Database, "movie") + e, err := models.GetMediaOptions(env.Database, "movie") if err != nil { return nil, err } diff --git a/backend/external_medias/handlers.go b/backend/external_medias/handlers.go index a1fd3f8..84710bf 100644 --- a/backend/external_medias/handlers.go +++ b/backend/external_medias/handlers.go @@ -4,7 +4,7 @@ import ( "net/http" "git.quimbo.fr/odwrtw/canape/backend/auth" - "git.quimbo.fr/odwrtw/canape/backend/backend" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/movies" "git.quimbo.fr/odwrtw/canape/backend/shows" "git.quimbo.fr/odwrtw/canape/backend/web" @@ -46,14 +46,14 @@ func RefreshShowsHandler(env *web.Env, w http.ResponseWriter, r *http.Request) e } // GetMovies get some movies -func GetMovies(env *web.Env, user *backend.User, source string, category string) ([]*movies.Movie, error) { +func GetMovies(env *web.Env, user *models.User, source string, category string) ([]*movies.Movie, error) { log := env.Log.WithFields(logrus.Fields{ "source": source, "category": category, "function": "extmedias.GetMovies", }) log.Debugf("getting movies") - media, err := backend.Explore(env.Database, "movie", source, category) + media, err := models.Explore(env.Database, "movie", source, category) if err != nil { return nil, err } @@ -71,7 +71,7 @@ func GetMovies(env *web.Env, user *backend.User, source string, category string) } // Get the user's wishlisted movies - moviesWishlist, err := backend.GetMovieWishlist(env.Database, user.ID) + moviesWishlist, err := models.GetMovieWishlist(env.Database, user.ID) if err != nil { return nil, err } @@ -105,7 +105,7 @@ func GetMovies(env *web.Env, user *backend.User, source string, category string) } // GetShows get some shows -func GetShows(env *web.Env, user *backend.User, source string, category string, force bool) ([]*shows.Show, error) { +func GetShows(env *web.Env, user *models.User, source string, category string, force bool) ([]*shows.Show, error) { log := env.Log.WithFields(logrus.Fields{ "source": source, "category": category, @@ -113,7 +113,7 @@ func GetShows(env *web.Env, user *backend.User, source string, category string, }) log.Debugf("getting shows") // Get the user's polochon config - media, err := backend.Explore(env.Database, "show", source, category) + media, err := models.Explore(env.Database, "show", source, category) if err != nil { return nil, err } @@ -131,7 +131,7 @@ func GetShows(env *web.Env, user *backend.User, source string, category string, } // Get the user's wishlisted shows - wShows, err := backend.GetShowWishlist(env.Database, user.ID) + wShows, err := models.GetShowWishlist(env.Database, user.ID) if err != nil { return nil, err } diff --git a/backend/main.go b/backend/main.go index 529c462..2884c11 100644 --- a/backend/main.go +++ b/backend/main.go @@ -6,7 +6,7 @@ import ( "os" "git.quimbo.fr/odwrtw/canape/backend/auth" - "git.quimbo.fr/odwrtw/canape/backend/backend" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/config" extmedias "git.quimbo.fr/odwrtw/canape/backend/external_medias" "git.quimbo.fr/odwrtw/canape/backend/ratings" @@ -43,7 +43,7 @@ func main() { if err != nil { log.Panic(err) } - backend := &backend.Backend{Database: db} + backend := &models.Backend{Database: db} // Generate auth params authParams := auth.Params{ diff --git a/backend/backend/backend.go b/backend/models/backend.go similarity index 97% rename from backend/backend/backend.go rename to backend/models/backend.go index f45871f..c80b6c1 100644 --- a/backend/backend/backend.go +++ b/backend/models/backend.go @@ -1,4 +1,4 @@ -package backend +package models import ( "github.com/jmoiron/sqlx" diff --git a/backend/backend/detailer.go b/backend/models/detailer.go similarity index 99% rename from backend/backend/detailer.go rename to backend/models/detailer.go index c964dff..3579591 100644 --- a/backend/backend/detailer.go +++ b/backend/models/detailer.go @@ -1,4 +1,4 @@ -package backend +package models import ( "errors" diff --git a/backend/backend/episode_torrents.go b/backend/models/episode_torrents.go similarity index 99% rename from backend/backend/episode_torrents.go rename to backend/models/episode_torrents.go index 397b50c..0d3449a 100644 --- a/backend/backend/episode_torrents.go +++ b/backend/models/episode_torrents.go @@ -1,4 +1,4 @@ -package backend +package models import ( "database/sql" diff --git a/backend/backend/episodes.go b/backend/models/episodes.go similarity index 99% rename from backend/backend/episodes.go rename to backend/models/episodes.go index 9040865..2733332 100644 --- a/backend/backend/episodes.go +++ b/backend/models/episodes.go @@ -1,4 +1,4 @@ -package backend +package models import ( "time" diff --git a/backend/backend/explorer.go b/backend/models/explorer.go similarity index 99% rename from backend/backend/explorer.go rename to backend/models/explorer.go index 4e099db..82821fd 100644 --- a/backend/backend/explorer.go +++ b/backend/models/explorer.go @@ -1,4 +1,4 @@ -package backend +package models import ( "github.com/jmoiron/sqlx" diff --git a/backend/backend/imdb_ratings.go b/backend/models/imdb_ratings.go similarity index 98% rename from backend/backend/imdb_ratings.go rename to backend/models/imdb_ratings.go index 90d2920..70bf2c1 100644 --- a/backend/backend/imdb_ratings.go +++ b/backend/models/imdb_ratings.go @@ -1,4 +1,4 @@ -package backend +package models import ( "time" diff --git a/backend/backend/movie_torrents.go b/backend/models/movie_torrents.go similarity index 99% rename from backend/backend/movie_torrents.go rename to backend/models/movie_torrents.go index 3ea90b3..a62f945 100644 --- a/backend/backend/movie_torrents.go +++ b/backend/models/movie_torrents.go @@ -1,4 +1,4 @@ -package backend +package models import ( "database/sql" diff --git a/backend/backend/movie_wishlist.go b/backend/models/movie_wishlist.go similarity index 99% rename from backend/backend/movie_wishlist.go rename to backend/models/movie_wishlist.go index 60c1ed3..84011ae 100644 --- a/backend/backend/movie_wishlist.go +++ b/backend/models/movie_wishlist.go @@ -1,4 +1,4 @@ -package backend +package models import ( "fmt" diff --git a/backend/backend/movies.go b/backend/models/movies.go similarity index 99% rename from backend/backend/movies.go rename to backend/models/movies.go index 2bacfe9..ee71748 100644 --- a/backend/backend/movies.go +++ b/backend/models/movies.go @@ -1,4 +1,4 @@ -package backend +package models import ( "fmt" diff --git a/backend/backend/polochons.go b/backend/models/polochons.go similarity index 99% rename from backend/backend/polochons.go rename to backend/models/polochons.go index a66f3fa..14702d9 100644 --- a/backend/backend/polochons.go +++ b/backend/models/polochons.go @@ -1,4 +1,4 @@ -package backend +package models import ( "database/sql" diff --git a/backend/backend/show_wishlist.go b/backend/models/show_wishlist.go similarity index 99% rename from backend/backend/show_wishlist.go rename to backend/models/show_wishlist.go index 1972551..e4fd014 100644 --- a/backend/backend/show_wishlist.go +++ b/backend/models/show_wishlist.go @@ -1,4 +1,4 @@ -package backend +package models import ( "fmt" diff --git a/backend/backend/shows.go b/backend/models/shows.go similarity index 99% rename from backend/backend/shows.go rename to backend/models/shows.go index 24ddf4d..9030d63 100644 --- a/backend/backend/shows.go +++ b/backend/models/shows.go @@ -1,4 +1,4 @@ -package backend +package models import ( "fmt" diff --git a/backend/backend/torrenter.go b/backend/models/torrenter.go similarity index 99% rename from backend/backend/torrenter.go rename to backend/models/torrenter.go index 97f27f3..bf473c7 100644 --- a/backend/backend/torrenter.go +++ b/backend/models/torrenter.go @@ -1,4 +1,4 @@ -package backend +package models import ( "database/sql" diff --git a/backend/backend/users.go b/backend/models/users.go similarity index 99% rename from backend/backend/users.go rename to backend/models/users.go index be0682b..998ae92 100644 --- a/backend/backend/users.go +++ b/backend/models/users.go @@ -1,4 +1,4 @@ -package backend +package models import ( "database/sql" diff --git a/backend/movies/handlers.go b/backend/movies/handlers.go index 1dbf08f..a560ac2 100644 --- a/backend/movies/handlers.go +++ b/backend/movies/handlers.go @@ -6,8 +6,8 @@ import ( "net/http" "git.quimbo.fr/odwrtw/canape/backend/auth" - "git.quimbo.fr/odwrtw/canape/backend/backend" "git.quimbo.fr/odwrtw/canape/backend/config" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/subtitles" "git.quimbo.fr/odwrtw/canape/backend/web" "github.com/gorilla/mux" @@ -78,7 +78,7 @@ func RefreshMovieHandler(env *web.Env, w http.ResponseWriter, r *http.Request) e } // Check if the movie is wishlisted - isWishlisted, err := backend.IsMovieWishlisted(env.Database, user.ID, id) + isWishlisted, err := models.IsMovieWishlisted(env.Database, user.ID, id) if err != nil { log.Println("Error getting wishlisted movie ", err) } @@ -119,7 +119,7 @@ func SearchMovie(env *web.Env, w http.ResponseWriter, r *http.Request) error { } // Get the user's wishlisted movies - moviesWishlist, err := backend.GetMovieWishlist(env.Database, user.ID) + moviesWishlist, err := models.GetMovieWishlist(env.Database, user.ID) if err != nil { return env.RenderError(w, err) } @@ -205,7 +205,7 @@ func AddToWishlist(env *web.Env, w http.ResponseWriter, r *http.Request) error { user := auth.GetCurrentUser(r, env.Log) - if err := backend.AddMovieToWishlist(env.Database, user.ID, id); err != nil { + if err := models.AddMovieToWishlist(env.Database, user.ID, id); err != nil { return env.RenderError(w, err) } @@ -219,7 +219,7 @@ func DeleteFromWishlist(env *web.Env, w http.ResponseWriter, r *http.Request) er user := auth.GetCurrentUser(r, env.Log) - if err := backend.DeleteMovieFromWishlist(env.Database, user.ID, id); err != nil { + if err := models.DeleteMovieFromWishlist(env.Database, user.ID, id); err != nil { return env.RenderError(w, err) } @@ -243,7 +243,7 @@ func GetWishlistHandler(env *web.Env, w http.ResponseWriter, r *http.Request) er } // Get the user's wishlisted movies - moviesWishlist, err := backend.GetMovieWishlist(env.Database, user.ID) + moviesWishlist, err := models.GetMovieWishlist(env.Database, user.ID) if err != nil { return env.RenderError(w, err) } diff --git a/backend/movies/movies.go b/backend/movies/movies.go index 8ff09b9..23f9898 100644 --- a/backend/movies/movies.go +++ b/backend/movies/movies.go @@ -8,7 +8,7 @@ import ( "path/filepath" "time" - "git.quimbo.fr/odwrtw/canape/backend/backend" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/subtitles" "git.quimbo.fr/odwrtw/canape/backend/web" "github.com/odwrtw/papi" @@ -151,7 +151,7 @@ func (m *Movie) Refresh(env *web.Env, detailers []polochon.Detailer) error { } // If found, update in database - return backend.UpsertMovie(env.Database, m.Movie) + return models.UpsertMovie(env.Database, m.Movie) } // GetTorrents retrieves torrents for the movie with the given torrenters @@ -220,7 +220,7 @@ func (m *Movie) RefreshTorrents(env *web.Env, torrenters []polochon.Torrenter) e // Update them in database for _, t := range m.Movie.Torrents { - err = backend.UpsertMovieTorrent(env.Database, &t, m.ImdbID) + err = models.UpsertMovieTorrent(env.Database, &t, m.ImdbID) if err != nil { log.Error("error while adding torrent", err) continue @@ -250,7 +250,7 @@ func (m *Movie) PosterURL() string { } // getPolochonMovies returns an array of the user's polochon movies -func getPolochonMovies(user *backend.User, env *web.Env) ([]*Movie, error) { +func getPolochonMovies(user *models.User, env *web.Env) ([]*Movie, error) { movies := []*Movie{} // Create a papi client @@ -266,7 +266,7 @@ func getPolochonMovies(user *backend.User, env *web.Env) ([]*Movie, error) { } // Get the user's wishlisted movies - moviesWishlist, err := backend.GetMovieWishlist(env.Database, user.ID) + moviesWishlist, err := models.GetMovieWishlist(env.Database, user.ID) if err != nil { return movies, err } diff --git a/backend/polochons/handlers.go b/backend/polochons/handlers.go index 449acdc..2a1d594 100644 --- a/backend/polochons/handlers.go +++ b/backend/polochons/handlers.go @@ -6,7 +6,7 @@ import ( "net/http" "git.quimbo.fr/odwrtw/canape/backend/auth" - "git.quimbo.fr/odwrtw/canape/backend/backend" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/web" "github.com/gorilla/mux" "github.com/sirupsen/logrus" @@ -20,7 +20,7 @@ func GetPublicPolochonsHandler(env *web.Env, w http.ResponseWriter, r *http.Requ log.Debug("Getting public polochons") - polochons, err := backend.GetAllPolochons(env.Database) + polochons, err := models.GetAllPolochons(env.Database) if err != nil { return env.RenderError(w, err) } @@ -53,13 +53,13 @@ func GetPolochonsHandler(env *web.Env, w http.ResponseWriter, r *http.Request) e log.Debug("Getting polochons") - polochons, err := backend.GetAllPolochonsByUser(env.Database, user.ID) + polochons, err := models.GetAllPolochonsByUser(env.Database, user.ID) if err != nil { return env.RenderError(w, err) } for _, p := range polochons { - users, err := backend.GetPolochonUsers(env.Database, p.ID) + users, err := models.GetPolochonUsers(env.Database, p.ID) if err != nil { return env.RenderError(w, err) } @@ -97,7 +97,7 @@ func NewPolochonHandler(env *web.Env, w http.ResponseWriter, r *http.Request) er } log.Debugf("creating new polochon ...") - p := backend.Polochon{ + p := models.Polochon{ Name: data.Name, URL: data.URL, Token: data.Token, @@ -124,7 +124,7 @@ func EditPolochonHandler(env *web.Env, w http.ResponseWriter, r *http.Request) e // Get the polochon vars := mux.Vars(r) id := vars["id"] - p, err := backend.GetPolochonByID(env.Database, id) + p, err := models.GetPolochonByID(env.Database, id) if err != nil { return env.RenderError(w, err) } @@ -192,7 +192,7 @@ func PolochonActivateUser(env *web.Env, w http.ResponseWriter, r *http.Request, // Get the polochon vars := mux.Vars(r) id := vars["id"] - p, err := backend.GetPolochonByID(env.Database, id) + p, err := models.GetPolochonByID(env.Database, id) if err != nil { return env.RenderError(w, err) } @@ -204,7 +204,7 @@ func PolochonActivateUser(env *web.Env, w http.ResponseWriter, r *http.Request, // Get the user userID := vars["user_id"] - u, err := backend.GetUserByID(env.Database, userID) + u, err := models.GetUserByID(env.Database, userID) if err != nil { return env.RenderError(w, err) } diff --git a/backend/ratings/ratings.go b/backend/ratings/ratings.go index 02915b2..3be0df0 100644 --- a/backend/ratings/ratings.go +++ b/backend/ratings/ratings.go @@ -12,7 +12,7 @@ import ( "github.com/sirupsen/logrus" - "git.quimbo.fr/odwrtw/canape/backend/backend" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/web" ) @@ -74,12 +74,12 @@ func Refresh(env *web.Env) error { continue } - videoRating := &backend.ImdbRating{ + videoRating := &models.ImdbRating{ ImdbID: elmts[0], Rating: float32(rating), Votes: int(numVote), } - err = backend.TxUpsertImdbRating(tx, videoRating) + err = models.TxUpsertImdbRating(tx, videoRating) if err != nil { log.WithFields(logrus.Fields{ "error": err, diff --git a/backend/routes.go b/backend/routes.go index 70f7d19..ffae79c 100644 --- a/backend/routes.go +++ b/backend/routes.go @@ -2,7 +2,7 @@ package main import ( admin "git.quimbo.fr/odwrtw/canape/backend/admins" - "git.quimbo.fr/odwrtw/canape/backend/backend" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/events" extmedias "git.quimbo.fr/odwrtw/canape/backend/external_medias" "git.quimbo.fr/odwrtw/canape/backend/movies" @@ -18,72 +18,72 @@ func setupRoutes(env *web.Env) { // User's route env.Handle("/users/login", users.LoginPOSTHandler).Methods("POST") env.Handle("/users/signup", users.SignupPOSTHandler).Methods("POST") - env.Handle("/users/details", users.DetailsHandler).WithRole(backend.UserRole).Methods("GET") - env.Handle("/users/edit", users.EditHandler).WithRole(backend.UserRole).Methods("POST") - env.Handle("/users/tokens", users.GetTokensHandler).WithRole(backend.UserRole).Methods("GET") - env.Handle("/users/tokens/{token}", users.EditTokenHandler).WithRole(backend.UserRole).Methods("POST") - env.Handle("/users/tokens/{token}", users.DeleteTokenHandler).WithRole(backend.UserRole).Methods("DELETE") - env.Handle("/users/modules/status", users.GetModulesStatus).WithRole(backend.UserRole).Methods("GET") - env.Handle("/users/polochons", polochons.GetPolochonsHandler).WithRole(backend.UserRole).Methods("GET") + env.Handle("/users/details", users.DetailsHandler).WithRole(models.UserRole).Methods("GET") + env.Handle("/users/edit", users.EditHandler).WithRole(models.UserRole).Methods("POST") + env.Handle("/users/tokens", users.GetTokensHandler).WithRole(models.UserRole).Methods("GET") + env.Handle("/users/tokens/{token}", users.EditTokenHandler).WithRole(models.UserRole).Methods("POST") + env.Handle("/users/tokens/{token}", users.DeleteTokenHandler).WithRole(models.UserRole).Methods("DELETE") + env.Handle("/users/modules/status", users.GetModulesStatus).WithRole(models.UserRole).Methods("GET") + env.Handle("/users/polochons", polochons.GetPolochonsHandler).WithRole(models.UserRole).Methods("GET") // Polochon's route env.Handle("/polochons", polochons.GetPublicPolochonsHandler).Methods("GET") - env.Handle("/polochons", polochons.NewPolochonHandler).WithRole(backend.UserRole).Methods("POST") - env.Handle("/polochons/{id}", polochons.EditPolochonHandler).WithRole(backend.UserRole).Methods("POST") - env.Handle("/polochons/{id}/users/{user_id}", polochons.PolochonActivateUserHandler).WithRole(backend.UserRole).Methods("POST") - env.Handle("/polochons/{id}/users/{user_id}", polochons.PolochonDeactivateUserHandler).WithRole(backend.UserRole).Methods("DELETE") + env.Handle("/polochons", polochons.NewPolochonHandler).WithRole(models.UserRole).Methods("POST") + env.Handle("/polochons/{id}", polochons.EditPolochonHandler).WithRole(models.UserRole).Methods("POST") + env.Handle("/polochons/{id}/users/{user_id}", polochons.PolochonActivateUserHandler).WithRole(models.UserRole).Methods("POST") + env.Handle("/polochons/{id}/users/{user_id}", polochons.PolochonDeactivateUserHandler).WithRole(models.UserRole).Methods("DELETE") // Movies routes - env.Handle("/movies/polochon", movies.PolochonMoviesHandler).WithRole(backend.UserRole).Methods("GET") - env.Handle("/movies/explore", extmedias.ExploreMovies).WithRole(backend.UserRole).Methods("GET") - env.Handle("/movies/explore/options", extmedias.MovieExplorerOptions).WithRole(backend.UserRole).Methods("GET") - env.Handle("/movies/search/{search}", movies.SearchMovie).WithRole(backend.UserRole).Methods("GET") - env.Handle("/movies/{id:tt[0-9]+}", movies.PolochonDeleteHandler).WithRole(backend.UserRole).Methods("DELETE") - env.Handle("/movies/{id:tt[0-9]+}/refresh", movies.RefreshMovieHandler).WithRole(backend.UserRole).Methods("POST") - env.Handle("/movies/{id:tt[0-9]+}/subtitles/{lang}", movies.DownloadVVTSubtitle).WithRole(backend.UserRole).Methods("GET") - env.Handle("/movies/{id:tt[0-9]+}/subtitles/refresh", movies.RefreshMovieSubtitlesHandler).WithRole(backend.UserRole).Methods("POST") - env.Handle("/movies/refresh", extmedias.RefreshMoviesHandler).WithRole(backend.AdminRole).Methods("POST") + env.Handle("/movies/polochon", movies.PolochonMoviesHandler).WithRole(models.UserRole).Methods("GET") + env.Handle("/movies/explore", extmedias.ExploreMovies).WithRole(models.UserRole).Methods("GET") + env.Handle("/movies/explore/options", extmedias.MovieExplorerOptions).WithRole(models.UserRole).Methods("GET") + env.Handle("/movies/search/{search}", movies.SearchMovie).WithRole(models.UserRole).Methods("GET") + env.Handle("/movies/{id:tt[0-9]+}", movies.PolochonDeleteHandler).WithRole(models.UserRole).Methods("DELETE") + env.Handle("/movies/{id:tt[0-9]+}/refresh", movies.RefreshMovieHandler).WithRole(models.UserRole).Methods("POST") + env.Handle("/movies/{id:tt[0-9]+}/subtitles/{lang}", movies.DownloadVVTSubtitle).WithRole(models.UserRole).Methods("GET") + env.Handle("/movies/{id:tt[0-9]+}/subtitles/refresh", movies.RefreshMovieSubtitlesHandler).WithRole(models.UserRole).Methods("POST") + env.Handle("/movies/refresh", extmedias.RefreshMoviesHandler).WithRole(models.AdminRole).Methods("POST") // Shows routes - env.Handle("/shows/polochon", shows.PolochonShowsHandler).WithRole(backend.UserRole).Methods("GET") - env.Handle("/shows/explore", extmedias.ExploreShows).WithRole(backend.UserRole).Methods("GET") - env.Handle("/shows/explore/options", extmedias.ShowExplorerOptions).WithRole(backend.UserRole).Methods("GET") - env.Handle("/shows/search/{search}", shows.SearchShow).WithRole(backend.UserRole).Methods("GET") - env.Handle("/shows/{id:tt[0-9]+}", shows.GetDetailsHandler).WithRole(backend.UserRole).Methods("GET") - env.Handle("/shows/{id:tt[0-9]+}/refresh", shows.RefreshShowHandler).WithRole(backend.UserRole).Methods("POST") - env.Handle("/shows/{id:tt[0-9]+}/seasons/{season:[0-9]+}/episodes/{episode:[0-9]+}", shows.RefreshEpisodeHandler).WithRole(backend.UserRole).Methods("POST") - env.Handle("/shows/{id:tt[0-9]+}/seasons/{season:[0-9]+}/episodes/{episode:[0-9]+}/subtitles/refresh", shows.RefreshEpisodeSubtitlesHandler).WithRole(backend.UserRole).Methods("POST") - env.Handle("/shows/{id:tt[0-9]+}/seasons/{season:[0-9]+}/episodes/{episode:[0-9]+}/subtitles/{lang}", shows.DownloadVVTSubtitle).WithRole(backend.UserRole).Methods("GET") - env.Handle("/shows/refresh", extmedias.RefreshShowsHandler).WithRole(backend.AdminRole).Methods("POST") + env.Handle("/shows/polochon", shows.PolochonShowsHandler).WithRole(models.UserRole).Methods("GET") + env.Handle("/shows/explore", extmedias.ExploreShows).WithRole(models.UserRole).Methods("GET") + env.Handle("/shows/explore/options", extmedias.ShowExplorerOptions).WithRole(models.UserRole).Methods("GET") + env.Handle("/shows/search/{search}", shows.SearchShow).WithRole(models.UserRole).Methods("GET") + env.Handle("/shows/{id:tt[0-9]+}", shows.GetDetailsHandler).WithRole(models.UserRole).Methods("GET") + env.Handle("/shows/{id:tt[0-9]+}/refresh", shows.RefreshShowHandler).WithRole(models.UserRole).Methods("POST") + env.Handle("/shows/{id:tt[0-9]+}/seasons/{season:[0-9]+}/episodes/{episode:[0-9]+}", shows.RefreshEpisodeHandler).WithRole(models.UserRole).Methods("POST") + env.Handle("/shows/{id:tt[0-9]+}/seasons/{season:[0-9]+}/episodes/{episode:[0-9]+}/subtitles/refresh", shows.RefreshEpisodeSubtitlesHandler).WithRole(models.UserRole).Methods("POST") + env.Handle("/shows/{id:tt[0-9]+}/seasons/{season:[0-9]+}/episodes/{episode:[0-9]+}/subtitles/{lang}", shows.DownloadVVTSubtitle).WithRole(models.UserRole).Methods("GET") + env.Handle("/shows/refresh", extmedias.RefreshShowsHandler).WithRole(models.AdminRole).Methods("POST") - env.Handle("/ratings/refresh", ratings.RefreshHandler).WithRole(backend.AdminRole).Methods("POST") + env.Handle("/ratings/refresh", ratings.RefreshHandler).WithRole(models.AdminRole).Methods("POST") // Wishlist routes for shows - env.Handle("/wishlist/shows", shows.GetWishlistHandler).WithRole(backend.UserRole).Methods("GET") - env.Handle("/wishlist/shows/{id:tt[0-9]+}", shows.AddToWishlist).WithRole(backend.UserRole).Methods("POST") - env.Handle("/wishlist/shows/{id:tt[0-9]+}", shows.DeleteFromWishlist).WithRole(backend.UserRole).Methods("DELETE") + env.Handle("/wishlist/shows", shows.GetWishlistHandler).WithRole(models.UserRole).Methods("GET") + env.Handle("/wishlist/shows/{id:tt[0-9]+}", shows.AddToWishlist).WithRole(models.UserRole).Methods("POST") + env.Handle("/wishlist/shows/{id:tt[0-9]+}", shows.DeleteFromWishlist).WithRole(models.UserRole).Methods("DELETE") // Wishlist routes for movies - env.Handle("/wishlist/movies", movies.GetWishlistHandler).WithRole(backend.UserRole).Methods("GET") - env.Handle("/wishlist/movies/{id:tt[0-9]+}", movies.AddToWishlist).WithRole(backend.UserRole).Methods("POST") - env.Handle("/wishlist/movies/{id:tt[0-9]+}", movies.DeleteFromWishlist).WithRole(backend.UserRole).Methods("DELETE") + env.Handle("/wishlist/movies", movies.GetWishlistHandler).WithRole(models.UserRole).Methods("GET") + env.Handle("/wishlist/movies/{id:tt[0-9]+}", movies.AddToWishlist).WithRole(models.UserRole).Methods("POST") + env.Handle("/wishlist/movies/{id:tt[0-9]+}", movies.DeleteFromWishlist).WithRole(models.UserRole).Methods("DELETE") // Torrents routes - env.Handle("/torrents", torrents.DownloadHandler).WithRole(backend.UserRole).Methods("POST") - env.Handle("/torrents", torrents.ListHandler).WithRole(backend.UserRole).Methods("GET") - env.Handle("/torrents/{id}", torrents.RemoveHandler).WithRole(backend.UserRole).Methods("DELETE") - env.Handle("/torrents/search/{type}/{search}", torrents.SearchHandler).WithRole(backend.UserRole).Methods("GET") + env.Handle("/torrents", torrents.DownloadHandler).WithRole(models.UserRole).Methods("POST") + env.Handle("/torrents", torrents.ListHandler).WithRole(models.UserRole).Methods("GET") + env.Handle("/torrents/{id}", torrents.RemoveHandler).WithRole(models.UserRole).Methods("DELETE") + env.Handle("/torrents/search/{type}/{search}", torrents.SearchHandler).WithRole(models.UserRole).Methods("GET") // Route to refresh all movies and shows - env.Handle("/refresh", extmedias.RefreshHandler).WithRole(backend.AdminRole).Methods("POST") + env.Handle("/refresh", extmedias.RefreshHandler).WithRole(models.AdminRole).Methods("POST") // Route to handle websocket events - env.Handle("/events", events.WsHandler).WithRole(backend.UserRole).Methods("GET") + env.Handle("/events", events.WsHandler).WithRole(models.UserRole).Methods("GET") // Admin routes - env.Handle("/admins/users", admin.GetUsersHandler).WithRole(backend.AdminRole).Methods("GET") - env.Handle("/admins/users", admin.UpdateUserHandler).WithRole(backend.AdminRole).Methods("POST") - env.Handle("/admins/stats", admin.GetStatsHandler).WithRole(backend.AdminRole).Methods("GET") - env.Handle("/admins/tokens/{username}", admin.GenerateUserToken).WithRole(backend.AdminRole).Methods("POST") - env.Handle("/admins/modules", admin.GetModulesStatuses).WithRole(backend.AdminRole).Methods("GET") + env.Handle("/admins/users", admin.GetUsersHandler).WithRole(models.AdminRole).Methods("GET") + env.Handle("/admins/users", admin.UpdateUserHandler).WithRole(models.AdminRole).Methods("POST") + env.Handle("/admins/stats", admin.GetStatsHandler).WithRole(models.AdminRole).Methods("GET") + env.Handle("/admins/tokens/{username}", admin.GenerateUserToken).WithRole(models.AdminRole).Methods("POST") + env.Handle("/admins/modules", admin.GetModulesStatuses).WithRole(models.AdminRole).Methods("GET") } diff --git a/backend/shows/episodes.go b/backend/shows/episodes.go index 7ef3708..4809d45 100644 --- a/backend/shows/episodes.go +++ b/backend/shows/episodes.go @@ -5,7 +5,7 @@ import ( "fmt" "time" - "git.quimbo.fr/odwrtw/canape/backend/backend" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/subtitles" "git.quimbo.fr/odwrtw/canape/backend/web" "github.com/odwrtw/papi" @@ -178,7 +178,7 @@ func RefreshTorrents(env *web.Env, showEpisode *polochon.ShowEpisode, torrenters // Upsert all the torrents we got for _, t := range showEpisode.Torrents { - err = backend.UpsertEpisodeTorrent(env.Database, &t, showEpisode.ShowImdbID, showEpisode.Season, showEpisode.Episode) + err = models.UpsertEpisodeTorrent(env.Database, &t, showEpisode.ShowImdbID, showEpisode.Season, showEpisode.Episode) if err != nil { log.Errorf("error while adding torrent : %s", err) continue @@ -197,7 +197,7 @@ func (e *Episode) Refresh(env *web.Env, detailers []polochon.Detailer) error { return err } - return backend.UpsertEpisode(env.Database, e.ShowEpisode) + return models.UpsertEpisode(env.Database, e.ShowEpisode) } // GetEpisodeDetails retrieves details for the episode with the given detailers diff --git a/backend/shows/handlers.go b/backend/shows/handlers.go index 16474bf..9e6e81e 100644 --- a/backend/shows/handlers.go +++ b/backend/shows/handlers.go @@ -10,7 +10,7 @@ import ( "net/http" "git.quimbo.fr/odwrtw/canape/backend/auth" - "git.quimbo.fr/odwrtw/canape/backend/backend" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/subtitles" "git.quimbo.fr/odwrtw/canape/backend/web" "github.com/gorilla/mux" @@ -38,7 +38,7 @@ func GetDetailsHandler(env *web.Env, w http.ResponseWriter, r *http.Request) err log.Println("Got error getting show ", err) } - wShow, err := backend.IsShowWishlisted(env.Database, user.ID, id) + wShow, err := models.IsShowWishlisted(env.Database, user.ID, id) if err != nil && err != papi.ErrResourceNotFound { log.Println("Got error getting wishlisted show ", err) } @@ -84,7 +84,7 @@ func RefreshShowHandler(env *web.Env, w http.ResponseWriter, r *http.Request) er log.Println("Got error getting show ", err) } - wShow, err := backend.IsShowWishlisted(env.Database, user.ID, id) + wShow, err := models.IsShowWishlisted(env.Database, user.ID, id) if err != nil && err != papi.ErrResourceNotFound { log.Println("Got error getting wishlisted show ", err) } @@ -146,7 +146,7 @@ func SearchShow(env *web.Env, w http.ResponseWriter, r *http.Request) error { } // Get the user's wishlisted shows - wShows, err := backend.GetShowWishlist(env.Database, user.ID) + wShows, err := models.GetShowWishlist(env.Database, user.ID) if err != nil { return env.RenderError(w, err) } @@ -189,7 +189,7 @@ func AddToWishlist(env *web.Env, w http.ResponseWriter, r *http.Request) error { user := auth.GetCurrentUser(r, env.Log) - if err := backend.AddShowToWishlist(env.Database, user.ID, id, data.Season, data.Episode); err != nil { + if err := models.AddShowToWishlist(env.Database, user.ID, id, data.Season, data.Episode); err != nil { env.Log.Warnf("Error while adding to db : %s", err) return env.RenderError(w, err) } @@ -204,7 +204,7 @@ func DeleteFromWishlist(env *web.Env, w http.ResponseWriter, r *http.Request) er user := auth.GetCurrentUser(r, env.Log) - if err := backend.DeleteShowFromWishlist(env.Database, user.ID, id); err != nil { + if err := models.DeleteShowFromWishlist(env.Database, user.ID, id); err != nil { env.Log.Warnf("Error while deleting to db : %s", err) return env.RenderError(w, err) } @@ -227,7 +227,7 @@ func GetWishlistHandler(env *web.Env, w http.ResponseWriter, r *http.Request) er return env.RenderError(w, err) } - wShows, err := backend.GetShowWishlist(env.Database, user.ID) + wShows, err := models.GetShowWishlist(env.Database, user.ID) if err != nil { return env.RenderError(w, err) } diff --git a/backend/shows/shows.go b/backend/shows/shows.go index c90962a..ed59f68 100644 --- a/backend/shows/shows.go +++ b/backend/shows/shows.go @@ -7,7 +7,7 @@ import ( "path/filepath" "strings" - "git.quimbo.fr/odwrtw/canape/backend/backend" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/web" "github.com/odwrtw/papi" polochon "github.com/odwrtw/polochon/lib" @@ -65,7 +65,7 @@ func New(imdbID string, publicDir, imgURLPrefix string) *Show { } // NewWithClient returns a new Show with a polochon ShowConfig -func NewWithClient(imdbID string, client *papi.Client, pShow *papi.Show, wShow *backend.WishedShow, publicDir, imgURLPrefix string) *Show { +func NewWithClient(imdbID string, client *papi.Client, pShow *papi.Show, wShow *models.WishedShow, publicDir, imgURLPrefix string) *Show { s := &Show{ Show: &polochon.Show{ ImdbID: imdbID, @@ -145,7 +145,7 @@ func (s *Show) Refresh(env *web.Env, detailers []polochon.Detailer) error { env.Log.Debug("images downloaded") // If found, update in database - return backend.UpsertShow(env.Database, s.Show) + return models.UpsertShow(env.Database, s.Show) } // GetImageURL returns the image URL or the default image if the poster is not yet downloaded @@ -197,7 +197,7 @@ func (s *Show) imgFile(imgType string) string { } // getPolochonShows returns all the Shows from the polochon of a user -func getPolochonShows(env *web.Env, user *backend.User) ([]*Show, error) { +func getPolochonShows(env *web.Env, user *models.User) ([]*Show, error) { shows := []*Show{} client, err := user.NewPapiClient() @@ -211,7 +211,7 @@ func getPolochonShows(env *web.Env, user *backend.User) ([]*Show, error) { return shows, err } - wShows, err := backend.GetShowWishlist(env.Database, user.ID) + wShows, err := models.GetShowWishlist(env.Database, user.ID) if err != nil { return shows, err } diff --git a/backend/users/handlers.go b/backend/users/handlers.go index a878c05..90f3ce6 100644 --- a/backend/users/handlers.go +++ b/backend/users/handlers.go @@ -7,8 +7,8 @@ import ( "net/http" "git.quimbo.fr/odwrtw/canape/backend/auth" - "git.quimbo.fr/odwrtw/canape/backend/backend" "git.quimbo.fr/odwrtw/canape/backend/config" + "git.quimbo.fr/odwrtw/canape/backend/models" "git.quimbo.fr/odwrtw/canape/backend/tokens" "git.quimbo.fr/odwrtw/canape/backend/web" "github.com/gorilla/mux" @@ -38,7 +38,7 @@ func SignupPOSTHandler(e *web.Env, w http.ResponseWriter, r *http.Request) error return e.RenderError(w, fmt.Errorf("Passwords missmatch")) } - user := backend.User{Name: data.Username} + user := models.User{Name: data.Username} var err error user.Hash, err = e.Auth.GenHash(data.Password) @@ -72,7 +72,7 @@ func LoginPOSTHandler(e *web.Env, w http.ResponseWriter, r *http.Request) error token, err := e.Auth.Login(r, data.Username, data.Password) if err != nil { - if err == auth.ErrInvalidPassword || err == backend.ErrUnknownUser { + if err == auth.ErrInvalidPassword || err == models.ErrUnknownUser { return e.RenderError(w, fmt.Errorf("Error invalid user or password")) } return err