delete role
parent
8ba858802b
commit
ba86dc8e4d
|
@ -6,7 +6,7 @@ import (
|
||||||
|
|
||||||
type Role struct {
|
type Role struct {
|
||||||
Id string
|
Id string
|
||||||
Master bool `gorm:"type:bool"` // this reflects the role that has all rights
|
Master bool // this reflects the role that has all rights
|
||||||
DisplayName string
|
DisplayName string
|
||||||
Description string
|
Description string
|
||||||
SortingOrder int
|
SortingOrder int
|
||||||
|
|
|
@ -50,6 +50,7 @@ const (
|
||||||
SentCmdAdminAreaNewRoleCreated = 19
|
SentCmdAdminAreaNewRoleCreated = 19
|
||||||
SentCmdAdminAreaRoleUpdated = 20
|
SentCmdAdminAreaRoleUpdated = 20
|
||||||
SentCmdAdminAreaUpdateRoleSortingOrder = 21
|
SentCmdAdminAreaUpdateRoleSortingOrder = 21
|
||||||
|
SentCmdAdminAreaRoleDeleted = 22
|
||||||
)
|
)
|
||||||
|
|
||||||
// commands received from web clients
|
// commands received from web clients
|
||||||
|
@ -63,6 +64,7 @@ const (
|
||||||
ReceivedCmdAdminAreaCreateNewRole = 7
|
ReceivedCmdAdminAreaCreateNewRole = 7
|
||||||
ReceivedCmdAdminAreaUpdateRole = 8
|
ReceivedCmdAdminAreaUpdateRole = 8
|
||||||
ReceivedCmdAdminAreaUpdateRoleSortingOrder = 9
|
ReceivedCmdAdminAreaUpdateRoleSortingOrder = 9
|
||||||
|
ReceivedCmdAdminAreaDeleteRole = 10
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
@ -473,7 +473,7 @@ func AdminAreaUpdateRole(sessionId string, body map[string]interface{}) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func MoveRoleToSortingOrder(body map[string]interface{}) {
|
func AdminAreaMoveRoleToSortingOrder(body map[string]interface{}) {
|
||||||
roleId := body["RoleId"].(string)
|
roleId := body["RoleId"].(string)
|
||||||
direction := int(body["Direction"].(float64))
|
direction := int(body["Direction"].(float64))
|
||||||
|
|
||||||
|
@ -531,3 +531,24 @@ func MoveRoleToSortingOrder(body map[string]interface{}) {
|
||||||
Body: body,
|
Body: body,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func AdminAreaDeleteRole(body map[string]interface{}) {
|
||||||
|
roleId := body["RoleId"].(string)
|
||||||
|
|
||||||
|
var role structs.Role
|
||||||
|
|
||||||
|
database.DB.Where("id = ?", roleId).First(&role)
|
||||||
|
|
||||||
|
if err := database.DB.Model(&structs.Role{}).Where("sorting_order > ?", role.SortingOrder).Update("sorting_order", gorm.Expr("sorting_order - 1")).Error; err != nil {
|
||||||
|
log.Error().Msgf("Failed to update role sorting order after delete role %s", err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
database.DB.Where("id = ?", roleId).Delete(&structs.Role{})
|
||||||
|
database.DB.Where("role_id = ?", roleId).Delete(&structs.RolePermission{})
|
||||||
|
|
||||||
|
BroadcastMessage(structs.SendSocketMessage{
|
||||||
|
Cmd: utils.SentCmdAdminAreaRoleDeleted,
|
||||||
|
Body: body,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
@ -219,7 +219,10 @@ func RunHub() {
|
||||||
socketclients.AdminAreaUpdateRole(data.Conn.Locals("sessionId").(string), receivedMessage.Body)
|
socketclients.AdminAreaUpdateRole(data.Conn.Locals("sessionId").(string), receivedMessage.Body)
|
||||||
break
|
break
|
||||||
case utils.ReceivedCmdAdminAreaUpdateRoleSortingOrder:
|
case utils.ReceivedCmdAdminAreaUpdateRoleSortingOrder:
|
||||||
socketclients.MoveRoleToSortingOrder(receivedMessage.Body)
|
socketclients.AdminAreaMoveRoleToSortingOrder(receivedMessage.Body)
|
||||||
|
break
|
||||||
|
case utils.ReceivedCmdAdminAreaDeleteRole:
|
||||||
|
socketclients.AdminAreaDeleteRole(receivedMessage.Body)
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
log.Error().Msgf("Received unknown message: %v", receivedMessage)
|
log.Error().Msgf("Received unknown message: %v", receivedMessage)
|
||||||
|
|
Loading…
Reference in New Issue