Rename backend/backend in backend/models

This commit is contained in:
Lucas BEE 2019-06-20 12:56:10 +00:00
parent 9c429ba3d4
commit 07eefe1870
30 changed files with 132 additions and 132 deletions

View File

@ -5,8 +5,8 @@ import (
"fmt" "fmt"
"net/http" "net/http"
"git.quimbo.fr/odwrtw/canape/backend/backend"
"git.quimbo.fr/odwrtw/canape/backend/config" "git.quimbo.fr/odwrtw/canape/backend/config"
"git.quimbo.fr/odwrtw/canape/backend/models"
"git.quimbo.fr/odwrtw/canape/backend/web" "git.quimbo.fr/odwrtw/canape/backend/web"
"github.com/gorilla/mux" "github.com/gorilla/mux"
@ -21,7 +21,7 @@ func GetUsersHandler(env *web.Env, w http.ResponseWriter, r *http.Request) error
log.Debug("Getting users") log.Debug("Getting users")
users, err := backend.GetAllUsers(env.Database) users, err := models.GetAllUsers(env.Database)
if err != nil { if err != nil {
return env.RenderError(w, err) 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) vars := mux.Vars(r)
username := vars["username"] username := vars["username"]
user, err := backend.GetUser(env.Database, username) user, err := models.GetUser(env.Database, username)
if err != nil { if err != nil {
return err 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")) 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 { if err != nil {
return err return err
} }

View File

@ -6,7 +6,7 @@ import (
"strings" "strings"
"time" "time"
"git.quimbo.fr/odwrtw/canape/backend/backend" "git.quimbo.fr/odwrtw/canape/backend/models"
"git.quimbo.fr/odwrtw/canape/backend/tokens" "git.quimbo.fr/odwrtw/canape/backend/tokens"
jwt "github.com/dgrijalva/jwt-go" jwt "github.com/dgrijalva/jwt-go"
"github.com/jmoiron/sqlx" "github.com/jmoiron/sqlx"
@ -57,7 +57,7 @@ func (a *Authorizer) GenHash(password string) (string, error) {
} }
// GenerateJWTToken generates a JWT token for a user // 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 // Create a jwt token
jwtToken := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{ jwtToken := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
// Not before // 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 // Login cheks password and creates a jwt token
func (a *Authorizer) Login(r *http.Request, username, password string) (*tokens.Token, error) { 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 { if err != nil {
return nil, err 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 // 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 var tokenStr string
h := req.Header.Get("Authorization") h := req.Header.Get("Authorization")
if h != "" { if h != "" {
@ -151,7 +151,7 @@ func (a *Authorizer) CurrentUser(rw http.ResponseWriter, req *http.Request) (*ba
} }
// Get the user // Get the user
u, err := backend.GetUser(a.db, tokenClaims.Username) u, err := models.GetUser(a.db, tokenClaims.Username)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -5,7 +5,7 @@ import (
"net" "net"
"net/http" "net/http"
"git.quimbo.fr/odwrtw/canape/backend/backend" "git.quimbo.fr/odwrtw/canape/backend/models"
"github.com/sirupsen/logrus" "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 // 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") log.Debug("getting user from context")
ctxKey := authContextKey("auth.user") ctxKey := authContextKey("auth.user")
@ -98,7 +98,7 @@ func GetCurrentUser(r *http.Request, log *logrus.Entry) *backend.User {
if u == nil { if u == nil {
return nil return nil
} }
user, ok := u.(*backend.User) user, ok := u.(*models.User)
if !ok { if !ok {
panic("invalid user type") panic("invalid user type")
} }

View File

@ -4,7 +4,7 @@ import (
"reflect" "reflect"
"time" "time"
"git.quimbo.fr/odwrtw/canape/backend/backend" "git.quimbo.fr/odwrtw/canape/backend/models"
"github.com/odwrtw/papi" "github.com/odwrtw/papi"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
) )
@ -12,7 +12,7 @@ import (
// TorrentNotifier is a struct implementing the Notifier interface // TorrentNotifier is a struct implementing the Notifier interface
type TorrentNotifier struct { type TorrentNotifier struct {
*Notifier *Notifier
user *backend.User user *models.User
client *papi.Client client *papi.Client
torrents []papi.Torrent torrents []papi.Torrent
log *logrus.Entry log *logrus.Entry

View File

@ -3,7 +3,7 @@ package extmedias
import ( import (
"fmt" "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/movies"
"git.quimbo.fr/odwrtw/canape/backend/shows" "git.quimbo.fr/odwrtw/canape/backend/shows"
"git.quimbo.fr/odwrtw/canape/backend/web" "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) log.Debugf("got %d medias from %s", len(ids), source)
// Upserts the new Media entry // Upserts the new Media entry
media := &backend.Media{ media := &models.Media{
Type: mediaType, Type: mediaType,
Source: source, Source: source,
Category: category, Category: category,
@ -117,7 +117,7 @@ func RefreshShows(env *web.Env) {
} }
// Iterate over all the wishlisted shows // Iterate over all the wishlisted shows
wishlistedList, err := backend.GetAllWishlistedShows(env.Database) wishlistedList, err := models.GetAllWishlistedShows(env.Database)
if err != nil { if err != nil {
env.Log.Warnf("error while getting list of wishlisted shows: %s", err) env.Log.Warnf("error while getting list of wishlisted shows: %s", err)
return return
@ -183,7 +183,7 @@ func RefreshMovies(env *web.Env) {
} }
// Iterate over all the wishlisted movies // Iterate over all the wishlisted movies
wishlistedList, err := backend.GetAllWishlistedMovies(env.Database) wishlistedList, err := models.GetAllWishlistedMovies(env.Database)
if err != nil { if err != nil {
env.Log.Warnf("error while getting list of wishlisted movies %q", err) env.Log.Warnf("error while getting list of wishlisted movies %q", err)
return return
@ -227,7 +227,7 @@ func GetShowOptions(env *web.Env) (map[string][]string, error) {
"function": "extmedias.GetShowOptions", "function": "extmedias.GetShowOptions",
}) })
log.Debugf("getting explorer show options") log.Debugf("getting explorer show options")
e, err := backend.GetMediaOptions(env.Database, "show") e, err := models.GetMediaOptions(env.Database, "show")
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -240,7 +240,7 @@ func GetMovieOptions(env *web.Env) (map[string][]string, error) {
"function": "extmedias.GetMovieOptions", "function": "extmedias.GetMovieOptions",
}) })
log.Debugf("getting explorer movie options") log.Debugf("getting explorer movie options")
e, err := backend.GetMediaOptions(env.Database, "movie") e, err := models.GetMediaOptions(env.Database, "movie")
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -4,7 +4,7 @@ import (
"net/http" "net/http"
"git.quimbo.fr/odwrtw/canape/backend/auth" "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/movies"
"git.quimbo.fr/odwrtw/canape/backend/shows" "git.quimbo.fr/odwrtw/canape/backend/shows"
"git.quimbo.fr/odwrtw/canape/backend/web" "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 // 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{ log := env.Log.WithFields(logrus.Fields{
"source": source, "source": source,
"category": category, "category": category,
"function": "extmedias.GetMovies", "function": "extmedias.GetMovies",
}) })
log.Debugf("getting movies") 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 { if err != nil {
return nil, err 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 // 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 { if err != nil {
return nil, err return nil, err
} }
@ -105,7 +105,7 @@ func GetMovies(env *web.Env, user *backend.User, source string, category string)
} }
// GetShows get some shows // 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{ log := env.Log.WithFields(logrus.Fields{
"source": source, "source": source,
"category": category, "category": category,
@ -113,7 +113,7 @@ func GetShows(env *web.Env, user *backend.User, source string, category string,
}) })
log.Debugf("getting shows") log.Debugf("getting shows")
// Get the user's polochon config // 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 { if err != nil {
return nil, err 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 // 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 { if err != nil {
return nil, err return nil, err
} }

View File

@ -6,7 +6,7 @@ import (
"os" "os"
"git.quimbo.fr/odwrtw/canape/backend/auth" "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" "git.quimbo.fr/odwrtw/canape/backend/config"
extmedias "git.quimbo.fr/odwrtw/canape/backend/external_medias" extmedias "git.quimbo.fr/odwrtw/canape/backend/external_medias"
"git.quimbo.fr/odwrtw/canape/backend/ratings" "git.quimbo.fr/odwrtw/canape/backend/ratings"
@ -43,7 +43,7 @@ func main() {
if err != nil { if err != nil {
log.Panic(err) log.Panic(err)
} }
backend := &backend.Backend{Database: db} backend := &models.Backend{Database: db}
// Generate auth params // Generate auth params
authParams := auth.Params{ authParams := auth.Params{

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"github.com/jmoiron/sqlx" "github.com/jmoiron/sqlx"

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"errors" "errors"

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"database/sql" "database/sql"

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"time" "time"

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"github.com/jmoiron/sqlx" "github.com/jmoiron/sqlx"

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"time" "time"

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"database/sql" "database/sql"

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"fmt" "fmt"

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"fmt" "fmt"

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"database/sql" "database/sql"

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"fmt" "fmt"

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"fmt" "fmt"

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"database/sql" "database/sql"

View File

@ -1,4 +1,4 @@
package backend package models
import ( import (
"database/sql" "database/sql"

View File

@ -6,8 +6,8 @@ import (
"net/http" "net/http"
"git.quimbo.fr/odwrtw/canape/backend/auth" "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/config"
"git.quimbo.fr/odwrtw/canape/backend/models"
"git.quimbo.fr/odwrtw/canape/backend/subtitles" "git.quimbo.fr/odwrtw/canape/backend/subtitles"
"git.quimbo.fr/odwrtw/canape/backend/web" "git.quimbo.fr/odwrtw/canape/backend/web"
"github.com/gorilla/mux" "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 // 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 { if err != nil {
log.Println("Error getting wishlisted movie ", err) 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 // 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 { if err != nil {
return env.RenderError(w, err) 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) 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) 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) 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) 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 // 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 { if err != nil {
return env.RenderError(w, err) return env.RenderError(w, err)
} }

View File

@ -8,7 +8,7 @@ import (
"path/filepath" "path/filepath"
"time" "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/subtitles"
"git.quimbo.fr/odwrtw/canape/backend/web" "git.quimbo.fr/odwrtw/canape/backend/web"
"github.com/odwrtw/papi" "github.com/odwrtw/papi"
@ -151,7 +151,7 @@ func (m *Movie) Refresh(env *web.Env, detailers []polochon.Detailer) error {
} }
// If found, update in database // 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 // 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 // Update them in database
for _, t := range m.Movie.Torrents { 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 { if err != nil {
log.Error("error while adding torrent", err) log.Error("error while adding torrent", err)
continue continue
@ -250,7 +250,7 @@ func (m *Movie) PosterURL() string {
} }
// getPolochonMovies returns an array of the user's polochon movies // 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{} movies := []*Movie{}
// Create a papi client // Create a papi client
@ -266,7 +266,7 @@ func getPolochonMovies(user *backend.User, env *web.Env) ([]*Movie, error) {
} }
// Get the user's wishlisted movies // 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 { if err != nil {
return movies, err return movies, err
} }

View File

@ -6,7 +6,7 @@ import (
"net/http" "net/http"
"git.quimbo.fr/odwrtw/canape/backend/auth" "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" "git.quimbo.fr/odwrtw/canape/backend/web"
"github.com/gorilla/mux" "github.com/gorilla/mux"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
@ -20,7 +20,7 @@ func GetPublicPolochonsHandler(env *web.Env, w http.ResponseWriter, r *http.Requ
log.Debug("Getting public polochons") log.Debug("Getting public polochons")
polochons, err := backend.GetAllPolochons(env.Database) polochons, err := models.GetAllPolochons(env.Database)
if err != nil { if err != nil {
return env.RenderError(w, err) 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") log.Debug("Getting polochons")
polochons, err := backend.GetAllPolochonsByUser(env.Database, user.ID) polochons, err := models.GetAllPolochonsByUser(env.Database, user.ID)
if err != nil { if err != nil {
return env.RenderError(w, err) return env.RenderError(w, err)
} }
for _, p := range polochons { for _, p := range polochons {
users, err := backend.GetPolochonUsers(env.Database, p.ID) users, err := models.GetPolochonUsers(env.Database, p.ID)
if err != nil { if err != nil {
return env.RenderError(w, err) 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 ...") log.Debugf("creating new polochon ...")
p := backend.Polochon{ p := models.Polochon{
Name: data.Name, Name: data.Name,
URL: data.URL, URL: data.URL,
Token: data.Token, Token: data.Token,
@ -124,7 +124,7 @@ func EditPolochonHandler(env *web.Env, w http.ResponseWriter, r *http.Request) e
// Get the polochon // Get the polochon
vars := mux.Vars(r) vars := mux.Vars(r)
id := vars["id"] id := vars["id"]
p, err := backend.GetPolochonByID(env.Database, id) p, err := models.GetPolochonByID(env.Database, id)
if err != nil { if err != nil {
return env.RenderError(w, err) return env.RenderError(w, err)
} }
@ -192,7 +192,7 @@ func PolochonActivateUser(env *web.Env, w http.ResponseWriter, r *http.Request,
// Get the polochon // Get the polochon
vars := mux.Vars(r) vars := mux.Vars(r)
id := vars["id"] id := vars["id"]
p, err := backend.GetPolochonByID(env.Database, id) p, err := models.GetPolochonByID(env.Database, id)
if err != nil { if err != nil {
return env.RenderError(w, err) return env.RenderError(w, err)
} }
@ -204,7 +204,7 @@ func PolochonActivateUser(env *web.Env, w http.ResponseWriter, r *http.Request,
// Get the user // Get the user
userID := vars["user_id"] userID := vars["user_id"]
u, err := backend.GetUserByID(env.Database, userID) u, err := models.GetUserByID(env.Database, userID)
if err != nil { if err != nil {
return env.RenderError(w, err) return env.RenderError(w, err)
} }

View File

@ -12,7 +12,7 @@ import (
"github.com/sirupsen/logrus" "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" "git.quimbo.fr/odwrtw/canape/backend/web"
) )
@ -74,12 +74,12 @@ func Refresh(env *web.Env) error {
continue continue
} }
videoRating := &backend.ImdbRating{ videoRating := &models.ImdbRating{
ImdbID: elmts[0], ImdbID: elmts[0],
Rating: float32(rating), Rating: float32(rating),
Votes: int(numVote), Votes: int(numVote),
} }
err = backend.TxUpsertImdbRating(tx, videoRating) err = models.TxUpsertImdbRating(tx, videoRating)
if err != nil { if err != nil {
log.WithFields(logrus.Fields{ log.WithFields(logrus.Fields{
"error": err, "error": err,

View File

@ -2,7 +2,7 @@ package main
import ( import (
admin "git.quimbo.fr/odwrtw/canape/backend/admins" 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" "git.quimbo.fr/odwrtw/canape/backend/events"
extmedias "git.quimbo.fr/odwrtw/canape/backend/external_medias" extmedias "git.quimbo.fr/odwrtw/canape/backend/external_medias"
"git.quimbo.fr/odwrtw/canape/backend/movies" "git.quimbo.fr/odwrtw/canape/backend/movies"
@ -18,72 +18,72 @@ func setupRoutes(env *web.Env) {
// User's route // User's route
env.Handle("/users/login", users.LoginPOSTHandler).Methods("POST") env.Handle("/users/login", users.LoginPOSTHandler).Methods("POST")
env.Handle("/users/signup", users.SignupPOSTHandler).Methods("POST") env.Handle("/users/signup", users.SignupPOSTHandler).Methods("POST")
env.Handle("/users/details", users.DetailsHandler).WithRole(backend.UserRole).Methods("GET") env.Handle("/users/details", users.DetailsHandler).WithRole(models.UserRole).Methods("GET")
env.Handle("/users/edit", users.EditHandler).WithRole(backend.UserRole).Methods("POST") env.Handle("/users/edit", users.EditHandler).WithRole(models.UserRole).Methods("POST")
env.Handle("/users/tokens", users.GetTokensHandler).WithRole(backend.UserRole).Methods("GET") env.Handle("/users/tokens", users.GetTokensHandler).WithRole(models.UserRole).Methods("GET")
env.Handle("/users/tokens/{token}", users.EditTokenHandler).WithRole(backend.UserRole).Methods("POST") env.Handle("/users/tokens/{token}", users.EditTokenHandler).WithRole(models.UserRole).Methods("POST")
env.Handle("/users/tokens/{token}", users.DeleteTokenHandler).WithRole(backend.UserRole).Methods("DELETE") env.Handle("/users/tokens/{token}", users.DeleteTokenHandler).WithRole(models.UserRole).Methods("DELETE")
env.Handle("/users/modules/status", users.GetModulesStatus).WithRole(backend.UserRole).Methods("GET") env.Handle("/users/modules/status", users.GetModulesStatus).WithRole(models.UserRole).Methods("GET")
env.Handle("/users/polochons", polochons.GetPolochonsHandler).WithRole(backend.UserRole).Methods("GET") env.Handle("/users/polochons", polochons.GetPolochonsHandler).WithRole(models.UserRole).Methods("GET")
// Polochon's route // Polochon's route
env.Handle("/polochons", polochons.GetPublicPolochonsHandler).Methods("GET") env.Handle("/polochons", polochons.GetPublicPolochonsHandler).Methods("GET")
env.Handle("/polochons", polochons.NewPolochonHandler).WithRole(backend.UserRole).Methods("POST") env.Handle("/polochons", polochons.NewPolochonHandler).WithRole(models.UserRole).Methods("POST")
env.Handle("/polochons/{id}", polochons.EditPolochonHandler).WithRole(backend.UserRole).Methods("POST") env.Handle("/polochons/{id}", polochons.EditPolochonHandler).WithRole(models.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.PolochonActivateUserHandler).WithRole(models.UserRole).Methods("POST")
env.Handle("/polochons/{id}/users/{user_id}", polochons.PolochonDeactivateUserHandler).WithRole(backend.UserRole).Methods("DELETE") env.Handle("/polochons/{id}/users/{user_id}", polochons.PolochonDeactivateUserHandler).WithRole(models.UserRole).Methods("DELETE")
// Movies routes // Movies routes
env.Handle("/movies/polochon", movies.PolochonMoviesHandler).WithRole(backend.UserRole).Methods("GET") env.Handle("/movies/polochon", movies.PolochonMoviesHandler).WithRole(models.UserRole).Methods("GET")
env.Handle("/movies/explore", extmedias.ExploreMovies).WithRole(backend.UserRole).Methods("GET") env.Handle("/movies/explore", extmedias.ExploreMovies).WithRole(models.UserRole).Methods("GET")
env.Handle("/movies/explore/options", extmedias.MovieExplorerOptions).WithRole(backend.UserRole).Methods("GET") env.Handle("/movies/explore/options", extmedias.MovieExplorerOptions).WithRole(models.UserRole).Methods("GET")
env.Handle("/movies/search/{search}", movies.SearchMovie).WithRole(backend.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(backend.UserRole).Methods("DELETE") 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(backend.UserRole).Methods("POST") 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(backend.UserRole).Methods("GET") 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(backend.UserRole).Methods("POST") env.Handle("/movies/{id:tt[0-9]+}/subtitles/refresh", movies.RefreshMovieSubtitlesHandler).WithRole(models.UserRole).Methods("POST")
env.Handle("/movies/refresh", extmedias.RefreshMoviesHandler).WithRole(backend.AdminRole).Methods("POST") env.Handle("/movies/refresh", extmedias.RefreshMoviesHandler).WithRole(models.AdminRole).Methods("POST")
// Shows routes // Shows routes
env.Handle("/shows/polochon", shows.PolochonShowsHandler).WithRole(backend.UserRole).Methods("GET") env.Handle("/shows/polochon", shows.PolochonShowsHandler).WithRole(models.UserRole).Methods("GET")
env.Handle("/shows/explore", extmedias.ExploreShows).WithRole(backend.UserRole).Methods("GET") env.Handle("/shows/explore", extmedias.ExploreShows).WithRole(models.UserRole).Methods("GET")
env.Handle("/shows/explore/options", extmedias.ShowExplorerOptions).WithRole(backend.UserRole).Methods("GET") env.Handle("/shows/explore/options", extmedias.ShowExplorerOptions).WithRole(models.UserRole).Methods("GET")
env.Handle("/shows/search/{search}", shows.SearchShow).WithRole(backend.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(backend.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(backend.UserRole).Methods("POST") 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(backend.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(backend.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(backend.UserRole).Methods("GET") 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(backend.AdminRole).Methods("POST") 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 // Wishlist routes for shows
env.Handle("/wishlist/shows", shows.GetWishlistHandler).WithRole(backend.UserRole).Methods("GET") env.Handle("/wishlist/shows", shows.GetWishlistHandler).WithRole(models.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.AddToWishlist).WithRole(models.UserRole).Methods("POST")
env.Handle("/wishlist/shows/{id:tt[0-9]+}", shows.DeleteFromWishlist).WithRole(backend.UserRole).Methods("DELETE") env.Handle("/wishlist/shows/{id:tt[0-9]+}", shows.DeleteFromWishlist).WithRole(models.UserRole).Methods("DELETE")
// Wishlist routes for movies // Wishlist routes for movies
env.Handle("/wishlist/movies", movies.GetWishlistHandler).WithRole(backend.UserRole).Methods("GET") env.Handle("/wishlist/movies", movies.GetWishlistHandler).WithRole(models.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.AddToWishlist).WithRole(models.UserRole).Methods("POST")
env.Handle("/wishlist/movies/{id:tt[0-9]+}", movies.DeleteFromWishlist).WithRole(backend.UserRole).Methods("DELETE") env.Handle("/wishlist/movies/{id:tt[0-9]+}", movies.DeleteFromWishlist).WithRole(models.UserRole).Methods("DELETE")
// Torrents routes // Torrents routes
env.Handle("/torrents", torrents.DownloadHandler).WithRole(backend.UserRole).Methods("POST") env.Handle("/torrents", torrents.DownloadHandler).WithRole(models.UserRole).Methods("POST")
env.Handle("/torrents", torrents.ListHandler).WithRole(backend.UserRole).Methods("GET") env.Handle("/torrents", torrents.ListHandler).WithRole(models.UserRole).Methods("GET")
env.Handle("/torrents/{id}", torrents.RemoveHandler).WithRole(backend.UserRole).Methods("DELETE") env.Handle("/torrents/{id}", torrents.RemoveHandler).WithRole(models.UserRole).Methods("DELETE")
env.Handle("/torrents/search/{type}/{search}", torrents.SearchHandler).WithRole(backend.UserRole).Methods("GET") env.Handle("/torrents/search/{type}/{search}", torrents.SearchHandler).WithRole(models.UserRole).Methods("GET")
// Route to refresh all movies and shows // 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 // 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 // Admin routes
env.Handle("/admins/users", admin.GetUsersHandler).WithRole(backend.AdminRole).Methods("GET") env.Handle("/admins/users", admin.GetUsersHandler).WithRole(models.AdminRole).Methods("GET")
env.Handle("/admins/users", admin.UpdateUserHandler).WithRole(backend.AdminRole).Methods("POST") env.Handle("/admins/users", admin.UpdateUserHandler).WithRole(models.AdminRole).Methods("POST")
env.Handle("/admins/stats", admin.GetStatsHandler).WithRole(backend.AdminRole).Methods("GET") env.Handle("/admins/stats", admin.GetStatsHandler).WithRole(models.AdminRole).Methods("GET")
env.Handle("/admins/tokens/{username}", admin.GenerateUserToken).WithRole(backend.AdminRole).Methods("POST") env.Handle("/admins/tokens/{username}", admin.GenerateUserToken).WithRole(models.AdminRole).Methods("POST")
env.Handle("/admins/modules", admin.GetModulesStatuses).WithRole(backend.AdminRole).Methods("GET") env.Handle("/admins/modules", admin.GetModulesStatuses).WithRole(models.AdminRole).Methods("GET")
} }

View File

@ -5,7 +5,7 @@ import (
"fmt" "fmt"
"time" "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/subtitles"
"git.quimbo.fr/odwrtw/canape/backend/web" "git.quimbo.fr/odwrtw/canape/backend/web"
"github.com/odwrtw/papi" "github.com/odwrtw/papi"
@ -178,7 +178,7 @@ func RefreshTorrents(env *web.Env, showEpisode *polochon.ShowEpisode, torrenters
// Upsert all the torrents we got // Upsert all the torrents we got
for _, t := range showEpisode.Torrents { 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 { if err != nil {
log.Errorf("error while adding torrent : %s", err) log.Errorf("error while adding torrent : %s", err)
continue continue
@ -197,7 +197,7 @@ func (e *Episode) Refresh(env *web.Env, detailers []polochon.Detailer) error {
return err 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 // GetEpisodeDetails retrieves details for the episode with the given detailers

View File

@ -10,7 +10,7 @@ import (
"net/http" "net/http"
"git.quimbo.fr/odwrtw/canape/backend/auth" "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/subtitles"
"git.quimbo.fr/odwrtw/canape/backend/web" "git.quimbo.fr/odwrtw/canape/backend/web"
"github.com/gorilla/mux" "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) 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 { if err != nil && err != papi.ErrResourceNotFound {
log.Println("Got error getting wishlisted show ", err) 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) 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 { if err != nil && err != papi.ErrResourceNotFound {
log.Println("Got error getting wishlisted show ", err) 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 // 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 { if err != nil {
return env.RenderError(w, err) 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) 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) env.Log.Warnf("Error while adding to db : %s", err)
return env.RenderError(w, 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) 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) env.Log.Warnf("Error while deleting to db : %s", err)
return env.RenderError(w, 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) return env.RenderError(w, err)
} }
wShows, err := backend.GetShowWishlist(env.Database, user.ID) wShows, err := models.GetShowWishlist(env.Database, user.ID)
if err != nil { if err != nil {
return env.RenderError(w, err) return env.RenderError(w, err)
} }

View File

@ -7,7 +7,7 @@ import (
"path/filepath" "path/filepath"
"strings" "strings"
"git.quimbo.fr/odwrtw/canape/backend/backend" "git.quimbo.fr/odwrtw/canape/backend/models"
"git.quimbo.fr/odwrtw/canape/backend/web" "git.quimbo.fr/odwrtw/canape/backend/web"
"github.com/odwrtw/papi" "github.com/odwrtw/papi"
polochon "github.com/odwrtw/polochon/lib" 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 // 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{ s := &Show{
Show: &polochon.Show{ Show: &polochon.Show{
ImdbID: imdbID, ImdbID: imdbID,
@ -145,7 +145,7 @@ func (s *Show) Refresh(env *web.Env, detailers []polochon.Detailer) error {
env.Log.Debug("images downloaded") env.Log.Debug("images downloaded")
// If found, update in database // 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 // 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 // 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{} shows := []*Show{}
client, err := user.NewPapiClient() client, err := user.NewPapiClient()
@ -211,7 +211,7 @@ func getPolochonShows(env *web.Env, user *backend.User) ([]*Show, error) {
return shows, err return shows, err
} }
wShows, err := backend.GetShowWishlist(env.Database, user.ID) wShows, err := models.GetShowWishlist(env.Database, user.ID)
if err != nil { if err != nil {
return shows, err return shows, err
} }

View File

@ -7,8 +7,8 @@ import (
"net/http" "net/http"
"git.quimbo.fr/odwrtw/canape/backend/auth" "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/config"
"git.quimbo.fr/odwrtw/canape/backend/models"
"git.quimbo.fr/odwrtw/canape/backend/tokens" "git.quimbo.fr/odwrtw/canape/backend/tokens"
"git.quimbo.fr/odwrtw/canape/backend/web" "git.quimbo.fr/odwrtw/canape/backend/web"
"github.com/gorilla/mux" "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")) return e.RenderError(w, fmt.Errorf("Passwords missmatch"))
} }
user := backend.User{Name: data.Username} user := models.User{Name: data.Username}
var err error var err error
user.Hash, err = e.Auth.GenHash(data.Password) 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) token, err := e.Auth.Login(r, data.Username, data.Password)
if err != nil { 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 e.RenderError(w, fmt.Errorf("Error invalid user or password"))
} }
return err return err