Merge pull request #2 from armisss4/User-control-patch

User control patch
This commit is contained in:
armisss4 2022-12-30 04:10:16 +02:00 committed by GitHub
commit f8a10417ea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -215,7 +215,10 @@ func UpdateUser(db store.IStore) echo.HandlerFunc {
}
user.PasswordHash = hash
}
user.Admin = admin
if previousUsername != currentUser(c) {
user.Admin = admin
}
if err := db.DeleteUser(previousUsername); err != nil {
return c.JSON(http.StatusInternalServerError, jsonHTTPResponse{false, err.Error()})
@ -289,6 +292,10 @@ func RemoveUser(db store.IStore) echo.HandlerFunc {
}
username := data["username"].(string)
if username == currentUser(c) {
return c.JSON(http.StatusForbidden, jsonHTTPResponse{false, "User cannot delete itself"})
}
// delete user from database
if err := db.DeleteUser(username); err != nil {
@ -297,10 +304,7 @@ func RemoveUser(db store.IStore) echo.HandlerFunc {
}
log.Infof("Removed user: %s", username)
if username == currentUser(c) {
log.Infof("You removed yourself, killing session")
clearSession(c)
}
return c.JSON(http.StatusOK, jsonHTTPResponse{true, "User removed"})
}
}