mirror of
https://github.com/notherealmarco/WASAPhoto.git
synced 2025-03-14 06:06:15 +01:00
Solved some todo(s)
This commit is contained in:
parent
05acfb045f
commit
a3cf4f17f8
5 changed files with 27 additions and 30 deletions
|
@ -14,7 +14,7 @@ func BuildAuth(header string) (reqcontext.Authorization, error) {
|
|||
auth, err := BuildBearer(header)
|
||||
if err != nil {
|
||||
if err.Error() == "invalid authorization header" {
|
||||
return nil, errors.New("method not supported") // todo: better error description
|
||||
return nil, errors.New("authentication method not supported")
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
|
19
service/api/reqcontext/context-auth.go
Normal file
19
service/api/reqcontext/context-auth.go
Normal file
|
@ -0,0 +1,19 @@
|
|||
package reqcontext
|
||||
|
||||
import "github.com/notherealmarco/WASAPhoto/service/database"
|
||||
|
||||
type AuthStatus int
|
||||
|
||||
const (
|
||||
AUTHORIZED = 0
|
||||
UNAUTHORIZED = 1
|
||||
FORBIDDEN = 2
|
||||
USER_NOT_FOUND = 3
|
||||
)
|
||||
|
||||
type Authorization interface {
|
||||
GetType() string
|
||||
GetUserID() string
|
||||
Authorized(db database.AppDatabase) (AuthStatus, error)
|
||||
UserAuthorized(db database.AppDatabase, uid string) (AuthStatus, error)
|
||||
}
|
|
@ -8,19 +8,9 @@ package reqcontext
|
|||
|
||||
import (
|
||||
"github.com/gofrs/uuid"
|
||||
"github.com/notherealmarco/WASAPhoto/service/database"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
type AuthStatus int
|
||||
|
||||
const (
|
||||
AUTHORIZED = 0
|
||||
UNAUTHORIZED = 1
|
||||
FORBIDDEN = 2
|
||||
USER_NOT_FOUND = 3
|
||||
) // todo: here?
|
||||
|
||||
// RequestContext is the context of the request, for request-dependent parameters
|
||||
type RequestContext struct {
|
||||
// ReqUUID is the request unique ID
|
||||
|
@ -31,10 +21,3 @@ type RequestContext struct {
|
|||
|
||||
Auth Authorization
|
||||
}
|
||||
|
||||
type Authorization interface {
|
||||
GetType() string
|
||||
GetUserID() string
|
||||
Authorized(db database.AppDatabase) (AuthStatus, error)
|
||||
UserAuthorized(db database.AppDatabase, uid string) (AuthStatus, error)
|
||||
}
|
||||
|
|
|
@ -5,10 +5,9 @@ import (
|
|||
)
|
||||
|
||||
// Get user stream
|
||||
// todo implement stidx + offset
|
||||
func (db *appdbimpl) GetUserStream(uid string, start_index int, limit int) (*[]structures.Photo, error) {
|
||||
|
||||
// Get photos
|
||||
// Get photos from the database
|
||||
rows, err := db.c.Query(`SELECT "p"."user", "p"."id", "p"."date",
|
||||
(
|
||||
SELECT COUNT(*) AS "likes" FROM "likes" AS "l"
|
||||
|
|
|
@ -8,20 +8,16 @@ import (
|
|||
"github.com/notherealmarco/WASAPhoto/service/structures"
|
||||
)
|
||||
|
||||
//Check if user exists and if exists return the user id by username
|
||||
//todo
|
||||
|
||||
// Check if user exists
|
||||
func (db *appdbimpl) UserExists(uid string) (bool, error) { //todo: refactor code
|
||||
var name string
|
||||
err := db.c.QueryRow(`SELECT "name" FROM "users" WHERE "uid" = ?`, uid).Scan(&name)
|
||||
func (db *appdbimpl) UserExists(uid string) (bool, error) {
|
||||
|
||||
if db_errors.EmptySet(err) {
|
||||
return false, nil
|
||||
} else if err != nil {
|
||||
var cnt int
|
||||
err := db.c.QueryRow(`SELECT COUNT(*) FROM "users" WHERE "uid" = ?`, uid).Scan(&cnt)
|
||||
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return true, nil
|
||||
return cnt > 0, nil
|
||||
}
|
||||
|
||||
// Get user id by username
|
||||
|
|
Loading…
Reference in a new issue