mirror of
https://github.com/grafana/grafana.git
synced 2026-08-12 06:05:02 -05:00
Batch disable users (#17254)
* batch disable users * batch revoke users tokens * split batch disable user and revoke token * fix tests for batch disable users * Chore: add BatchDisableUsers() to the bus
This commit is contained in:
@@ -28,6 +28,7 @@ func (ss *SqlStore) addUserQueryAndCommandHandlers() {
|
||||
bus.AddHandler("sql", SearchUsers)
|
||||
bus.AddHandler("sql", GetUserOrgList)
|
||||
bus.AddHandler("sql", DisableUser)
|
||||
bus.AddHandler("sql", BatchDisableUsers)
|
||||
bus.AddHandler("sql", DeleteUser)
|
||||
bus.AddHandler("sql", UpdateUserPermissions)
|
||||
bus.AddHandler("sql", SetUserHelpFlag)
|
||||
@@ -487,6 +488,31 @@ func DisableUser(cmd *m.DisableUserCommand) error {
|
||||
return err
|
||||
}
|
||||
|
||||
func BatchDisableUsers(cmd *m.BatchDisableUsersCommand) error {
|
||||
return inTransaction(func(sess *DBSession) error {
|
||||
userIds := cmd.UserIds
|
||||
|
||||
if len(userIds) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
user_id_params := strings.Repeat(",?", len(userIds)-1)
|
||||
disableSQL := "UPDATE " + dialect.Quote("user") + " SET is_disabled=? WHERE Id IN (?" + user_id_params + ")"
|
||||
|
||||
disableParams := []interface{}{disableSQL, cmd.IsDisabled}
|
||||
for _, v := range userIds {
|
||||
disableParams = append(disableParams, v)
|
||||
}
|
||||
|
||||
_, err := sess.Exec(disableParams...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
func DeleteUser(cmd *m.DeleteUserCommand) error {
|
||||
return inTransaction(func(sess *DBSession) error {
|
||||
return deleteUserInTransaction(sess, cmd)
|
||||
|
||||
Reference in New Issue
Block a user