Compare commits

..

No commits in common. "15f95c0d74dfa29b4498b3553a79e2ff4f3afea7" and "8676ca4df980643c0c6e5eab7e997ae466d6e7a1" have entirely different histories.

9 changed files with 22 additions and 15 deletions

View File

@ -8,6 +8,7 @@ import (
"git.quimbo.fr/odwrtw/canape/backend/events"
"git.quimbo.fr/odwrtw/canape/backend/models"
"git.quimbo.fr/odwrtw/canape/backend/tokens"
"git.quimbo.fr/odwrtw/canape/backend/web"
"github.com/gorilla/mux"
@ -164,7 +165,7 @@ func DeleteUserHandler(env *web.Env, w http.ResponseWriter, r *http.Request) err
}
log.Infof("deleting user tokens")
if err := models.DeleteUserTokens(env.Database, user.Name); err != nil {
if err := tokens.DeleteUserTokens(env.Database, user.Name); err != nil {
return err
}

View File

@ -7,6 +7,7 @@ import (
"time"
"git.quimbo.fr/odwrtw/canape/backend/models"
"git.quimbo.fr/odwrtw/canape/backend/tokens"
jwt "github.com/dgrijalva/jwt-go"
"github.com/jmoiron/sqlx"
@ -56,7 +57,7 @@ func (a *Authorizer) GenHash(password string) (string, error) {
}
// GenerateJWTToken generates a JWT token for a user
func (a *Authorizer) GenerateJWTToken(r *http.Request, u *models.User) (*models.Token, error) {
func (a *Authorizer) GenerateJWTToken(r *http.Request, u *models.User) (*tokens.Token, error) {
// Create a jwt token
jwtToken := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
// Not before
@ -75,7 +76,7 @@ func (a *Authorizer) GenerateJWTToken(r *http.Request, u *models.User) (*models.
return nil, err
}
return &models.Token{
return &tokens.Token{
Token: ss,
Username: u.Name,
IP: getIPFromRequest(r),
@ -83,7 +84,7 @@ func (a *Authorizer) GenerateJWTToken(r *http.Request, u *models.User) (*models.
}
// Login cheks password and creates a jwt token
func (a *Authorizer) Login(r *http.Request, username, password string) (*models.Token, error) {
func (a *Authorizer) Login(r *http.Request, username, password string) (*tokens.Token, error) {
u, err := models.GetUser(a.db, username)
if err != nil {
return nil, err
@ -156,7 +157,7 @@ func (a *Authorizer) CurrentUser(rw http.ResponseWriter, req *http.Request) (*mo
}
// Check the token in database
token, err := models.GetUserToken(a.db, u.Name, tokenStr)
token, err := tokens.GetUserToken(a.db, u.Name, tokenStr)
if err != nil {
return nil, ErrInvalidToken
}

View File

@ -103,7 +103,7 @@ func (p *PolochonEventers) Unsubscribe(chanl *Channel) {
if err := tn.Unsubscribe(chanl); err != nil {
p.log.Errorf("failed to unsubscribe eventer: %s", err.Error())
// TODO: check if we need to return here
return
}
if len(tn.Subscribers()) == 0 {

View File

@ -3,6 +3,7 @@ package models
import (
"github.com/jmoiron/sqlx"
"github.com/lib/pq"
"git.quimbo.fr/odwrtw/canape/backend/sqly"
)
const (
@ -23,7 +24,7 @@ const (
// Media represents an external media
type Media struct {
BaseModel
sqly.BaseModel
Type string `db:"type"`
Source string `db:"source"`
Category string `db:"category"`

View File

@ -5,6 +5,7 @@ import (
"errors"
"fmt"
"git.quimbo.fr/odwrtw/canape/backend/sqly"
"github.com/jmoiron/sqlx"
"github.com/odwrtw/papi"
)
@ -31,7 +32,7 @@ var ErrUnknownPolochon = fmt.Errorf("polochons: polochon does'nt exist")
// Polochon represents a polochon
type Polochon struct {
BaseModel
sqly.BaseModel
Name string `db:"name" json:"name"`
URL string `db:"url" json:"url"`
Token string `db:"token" json:"token"`

View File

@ -5,6 +5,7 @@ import (
"errors"
"fmt"
"git.quimbo.fr/odwrtw/canape/backend/sqly"
"github.com/jmoiron/sqlx"
"github.com/jmoiron/sqlx/types"
"github.com/odwrtw/papi"
@ -41,7 +42,7 @@ var ErrUnknownUser = fmt.Errorf("users: user does'nt exist")
// User represents an user
type User struct {
BaseModel
sqly.BaseModel
Name string `json:"name"`
Hash string `json:"-"`
Admin bool `json:"admin"`

View File

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

View File

@ -1,4 +1,4 @@
package models
package tokens
import (
"database/sql"
@ -6,6 +6,7 @@ import (
"fmt"
"time"
"git.quimbo.fr/odwrtw/canape/backend/sqly"
"github.com/jmoiron/sqlx"
)
@ -25,7 +26,7 @@ var (
// Token represents a token
type Token struct {
BaseModel
sqly.BaseModel
Username string `db:"username" json:"username"`
Token string `db:"token" json:"token"`
Description string `db:"description" json:"description"`

View File

@ -10,6 +10,7 @@ import (
"git.quimbo.fr/odwrtw/canape/backend/config"
"git.quimbo.fr/odwrtw/canape/backend/events"
"git.quimbo.fr/odwrtw/canape/backend/models"
"git.quimbo.fr/odwrtw/canape/backend/tokens"
"git.quimbo.fr/odwrtw/canape/backend/web"
"github.com/gorilla/mux"
)
@ -163,7 +164,7 @@ func EditHandler(e *web.Env, w http.ResponseWriter, r *http.Request) error {
func GetTokensHandler(e *web.Env, w http.ResponseWriter, r *http.Request) error {
user := auth.GetCurrentUser(r, e.Log)
tokens, err := models.GetUserTokens(e.Database, user.Name)
tokens, err := tokens.GetUserTokens(e.Database, user.Name)
if err != nil {
return err
}
@ -178,7 +179,7 @@ func DeleteTokenHandler(e *web.Env, w http.ResponseWriter, r *http.Request) erro
user := auth.GetCurrentUser(r, e.Log)
if err := models.DeleteToken(e.Database, user.Name, token); err != nil {
if err := tokens.DeleteToken(e.Database, user.Name, token); err != nil {
return err
}
@ -192,7 +193,7 @@ func EditTokenHandler(e *web.Env, w http.ResponseWriter, r *http.Request) error
user := auth.GetCurrentUser(r, e.Log)
t, err := models.GetUserToken(e.Database, user.Name, token)
t, err := tokens.GetUserToken(e.Database, user.Name, token)
if err != nil {
return err
}