I'm working on a server in golang.
I have an auth-helper that authenticates the user with a secure token (its a test). The error comes when i make a query (I'm using this dep) in the AuthUsingCredentials function, it outputs the following error:
"Expected pointer to struct slice *[]struct"
If I change the var result *entities.User
for var result []entities.User
and then print result[0] it works but then it outputs:
"cannot use result[0] (type entities.User) as type *entities.User in argument to ah.userEntityToModel"
The auth helper code:
auth.go
package helpers
import (
"fmt"
"server/data/entities"
"server/data/models"
"server/interfaces"
)
var AuthHelper *authHelper
type authHelper struct{}
func init() {
AuthHelper = &authHelper{}
}
func (ah *authHelper) userEntityToModel(_entity *entities.User) (*models.User, error) {
u := models.NewUser(_entity, db)
u.Username = _entity.Username
return u, nil
}
func (ah *authHelper) AuthenticateUsingCredentials(_token string) (interfaces.IUser, error) {
var result *entities.User
err := db.Where("Token", "=", _token).Find(result)
if err != nil {
return nil, err
}
if result == nil {
return nil, fmt.Errorf("Player '%s' not found", _token)
}
playerModel, err := ah.userEntityToModel(result)
if err != nil {
return nil, err
}
return playerModel, nil
}