delete role
parent
8ba858802b
commit
ba86dc8e4d
|
@ -6,7 +6,7 @@ import (
|
|||
|
||||
type Role struct {
|
||||
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
|
||||
Description string
|
||||
SortingOrder int
|
||||
|
|
|
@ -50,6 +50,7 @@ const (
|
|||
SentCmdAdminAreaNewRoleCreated = 19
|
||||
SentCmdAdminAreaRoleUpdated = 20
|
||||
SentCmdAdminAreaUpdateRoleSortingOrder = 21
|
||||
SentCmdAdminAreaRoleDeleted = 22
|
||||
)
|
||||
|
||||
// commands received from web clients
|
||||
|
@ -63,6 +64,7 @@ const (
|
|||
ReceivedCmdAdminAreaCreateNewRole = 7
|
||||
ReceivedCmdAdminAreaUpdateRole = 8
|
||||
ReceivedCmdAdminAreaUpdateRoleSortingOrder = 9
|
||||
ReceivedCmdAdminAreaDeleteRole = 10
|
||||
)
|
||||
|
||||
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)
|
||||
direction := int(body["Direction"].(float64))
|
||||
|
||||
|
@ -531,3 +531,24 @@ func MoveRoleToSortingOrder(body map[string]interface{}) {
|
|||
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)
|
||||
break
|
||||
case utils.ReceivedCmdAdminAreaUpdateRoleSortingOrder:
|
||||
socketclients.MoveRoleToSortingOrder(receivedMessage.Body)
|
||||
socketclients.AdminAreaMoveRoleToSortingOrder(receivedMessage.Body)
|
||||
break
|
||||
case utils.ReceivedCmdAdminAreaDeleteRole:
|
||||
socketclients.AdminAreaDeleteRole(receivedMessage.Body)
|
||||
break
|
||||
default:
|
||||
log.Error().Msgf("Received unknown message: %v", receivedMessage)
|
||||
|
|
Loading…
Reference in New Issue