Rename backend/backend in backend/models
This commit is contained in:
parent
9c429ba3d4
commit
07eefe1870
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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")
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jmoiron/sqlx"
|
"github.com/jmoiron/sqlx"
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jmoiron/sqlx"
|
"github.com/jmoiron/sqlx"
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
@ -1,4 +1,4 @@
|
|||||||
package backend
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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,
|
||||||
|
@ -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")
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user