parent
e283ec7004
commit
3bfb6fe2b7
3 changed files with 11 additions and 10 deletions
|
@ -60,14 +60,12 @@ func (u UserService) List(val *url.Values, claims *types.Claims) (types.Entity,
|
||||||
|
|
||||||
// Get retrieves a single user.
|
// Get retrieves a single user.
|
||||||
func (u UserService) Get(id int64, dummy string, claims *types.Claims) (types.Entity, *types.AppError) {
|
func (u UserService) Get(id int64, dummy string, claims *types.Claims) (types.Entity, *types.AppError) {
|
||||||
user, err := models.DbGetUserByID(id)
|
user, err := models.GetUser(id, dummy, claims)
|
||||||
user.Password = ""
|
user.Password = ""
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, newJSONError(err, http.StatusInternalServerError)
|
return nil, newJSONError(err, http.StatusInternalServerError)
|
||||||
}
|
}
|
||||||
|
|
||||||
user.CanEdit = claims.Role == "A" || id == claims.Sub
|
|
||||||
|
|
||||||
payload := payloads.User{
|
payload := payloads.User{
|
||||||
User: user,
|
User: user,
|
||||||
Meta: &models.UserMeta{
|
Meta: &models.UserMeta{
|
||||||
|
@ -81,7 +79,7 @@ func (u UserService) Get(id int64, dummy string, claims *types.Claims) (types.En
|
||||||
func (u UserService) Update(id int64, e *types.Entity, dummy string, claims *types.Claims) *types.AppError {
|
func (u UserService) Update(id int64, e *types.Entity, dummy string, claims *types.Claims) *types.AppError {
|
||||||
user := (*e).(*payloads.User).User
|
user := (*e).(*payloads.User).User
|
||||||
|
|
||||||
originalUser, err := models.DbGetUserByID(id)
|
originalUser, err := models.GetUser(id, dummy, claims)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return newJSONError(err, http.StatusInternalServerError)
|
return newJSONError(err, http.StatusInternalServerError)
|
||||||
}
|
}
|
||||||
|
@ -263,7 +261,7 @@ func HandleUserLockout(w http.ResponseWriter, r *http.Request) *types.AppError {
|
||||||
func HandleUserPasswordChange(w http.ResponseWriter, r *http.Request) *types.AppError {
|
func HandleUserPasswordChange(w http.ResponseWriter, r *http.Request) *types.AppError {
|
||||||
claims := helpers.GetClaims(r)
|
claims := helpers.GetClaims(r)
|
||||||
|
|
||||||
if err := models.UpdateUserPassword(claims.Sub, r.FormValue("password")); err != nil {
|
if err := models.UpdateUserPassword(&claims, r.FormValue("password")); err != nil {
|
||||||
return newJSONError(err, http.StatusInternalServerError)
|
return newJSONError(err, http.StatusInternalServerError)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -299,7 +299,7 @@ func (fn errorHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||||
func tokenRefresh(j *jwt.Middleware) errorHandler {
|
func tokenRefresh(j *jwt.Middleware) errorHandler {
|
||||||
t := func(w http.ResponseWriter, r *http.Request) *types.AppError {
|
t := func(w http.ResponseWriter, r *http.Request) *types.AppError {
|
||||||
claims := helpers.GetClaims(r)
|
claims := helpers.GetClaims(r)
|
||||||
user, err := models.DbGetUserByID(claims.Sub)
|
user, err := models.GetUser(claims.Sub, "", &claims)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return newJSONError(err, http.StatusInternalServerError)
|
return newJSONError(err, http.StatusInternalServerError)
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,8 +112,8 @@ func DbAuthenticate(email string, password string) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// DbGetUserByID returns a specific user record by ID.
|
// GetUser returns a specific user record by ID.
|
||||||
func DbGetUserByID(id int64) (*User, error) {
|
func GetUser(id int64, dummy string, claims *types.Claims) (*User, error) {
|
||||||
var user User
|
var user User
|
||||||
q := `SELECT *
|
q := `SELECT *
|
||||||
FROM users
|
FROM users
|
||||||
|
@ -126,6 +126,9 @@ func DbGetUserByID(id int64) (*User, error) {
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
user.CanEdit = claims.Role == "A" || id == claims.Sub
|
||||||
|
|
||||||
return &user, nil
|
return &user, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,8 +170,8 @@ func ListUsers(opt helpers.ListOptions, claims *types.Claims) (*Users, error) {
|
||||||
return &users, nil
|
return &users, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func UpdateUserPassword(id int64, password string) error {
|
func UpdateUserPassword(claims *types.Claims, password string) error {
|
||||||
user, err := DbGetUserByID(id)
|
user, err := GetUser(claims.Sub, "", claims)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue