This commit is contained in:
2023-04-03 10:11:56 +10:00
parent 1acf4c48d7
commit 75468ee8f3
4 changed files with 79 additions and 6 deletions

View File

@@ -4,7 +4,9 @@ import (
"ccsecrets/utils/token"
"errors"
"fmt"
"net/http"
"github.com/gin-gonic/gin"
"golang.org/x/crypto/bcrypt"
)
@@ -128,7 +130,28 @@ func GetUserRoleByID(uid uint) (UserRole, error) {
}
return ur, nil
}
func GetUserRoleFromToken(c *gin.Context) (UserRole, error) {
var ur UserRole
user_id, err := token.ExtractTokenID(c)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return ur, err
}
// Query database for matching user object
fmt.Printf("GetUserRoleFromToken querying for userid '%d'\n", user_id)
err = db.QueryRowx("SELECT users.UserId, users.RoleId, users.UserName, users.Password, roles.RoleName, roles.ReadOnly, roles.Admin FROM users INNER JOIN roles ON users.RoleId = roles.RoleId WHERE users.UserId=?", user_id).StructScan(&ur)
if err != nil {
fmt.Printf("GetUserRoleFromToken received error when querying database : '%s'\n", err)
return ur, errors.New("GetUserRoleFromToken user not found")
}
return ur, nil
}
/*