delete user
parent
5a13c3fe36
commit
d5a8af49cb
|
@ -10,6 +10,7 @@ func InitSystemPermissions() {
|
||||||
cache.AddSystemPermissions([]string{
|
cache.AddSystemPermissions([]string{
|
||||||
utils.PermissionGroupTasksHistory,
|
utils.PermissionGroupTasksHistory,
|
||||||
utils.PermissionAllUsersActionChangeRole,
|
utils.PermissionAllUsersActionChangeRole,
|
||||||
|
utils.PermissionAllUsersActionDeleteUser,
|
||||||
utils.PermissionAllUsersCreateNewUser,
|
utils.PermissionAllUsersCreateNewUser,
|
||||||
utils.PermissionScannerUseScanners,
|
utils.PermissionScannerUseScanners,
|
||||||
utils.PermissionAdminAreaCreateNewRole,
|
utils.PermissionAdminAreaCreateNewRole,
|
||||||
|
|
|
@ -58,6 +58,7 @@ const (
|
||||||
SentCmdRolePermissionsUpdated = 24
|
SentCmdRolePermissionsUpdated = 24
|
||||||
SentCmdErrorNoPermissions = 25
|
SentCmdErrorNoPermissions = 25
|
||||||
SentCmdAllUsersNewUserCreated = 26
|
SentCmdAllUsersNewUserCreated = 26
|
||||||
|
SentCmdAllUsersUserDeleted = 27
|
||||||
)
|
)
|
||||||
|
|
||||||
// commands received from web clients
|
// commands received from web clients
|
||||||
|
@ -74,6 +75,7 @@ const (
|
||||||
ReceivedCmdAdminAreaDeleteRole = 10
|
ReceivedCmdAdminAreaDeleteRole = 10
|
||||||
ReceivedCmdAllUsersUpdateUserRole = 11
|
ReceivedCmdAllUsersUpdateUserRole = 11
|
||||||
ReceivedCmdAllUsersCreateNewUser = 12
|
ReceivedCmdAllUsersCreateNewUser = 12
|
||||||
|
ReceivedCmdAllUsersDeleteUser = 13
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -102,6 +104,7 @@ const (
|
||||||
|
|
||||||
PermissionAllUsersCreateNewUser = "all_users.create_new_user"
|
PermissionAllUsersCreateNewUser = "all_users.create_new_user"
|
||||||
PermissionAllUsersActionChangeRole = "all_users.action.change_role"
|
PermissionAllUsersActionChangeRole = "all_users.action.change_role"
|
||||||
|
PermissionAllUsersActionDeleteUser = "all_users.action.delete_user"
|
||||||
PermissionScannerUseScanners = "scanner.use_scanners"
|
PermissionScannerUseScanners = "scanner.use_scanners"
|
||||||
|
|
||||||
_adminArea = "admin_area."
|
_adminArea = "admin_area."
|
||||||
|
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"janex/admin-dashboard-backend/modules/structs"
|
"janex/admin-dashboard-backend/modules/structs"
|
||||||
"janex/admin-dashboard-backend/modules/systempermissions"
|
"janex/admin-dashboard-backend/modules/systempermissions"
|
||||||
"janex/admin-dashboard-backend/modules/utils"
|
"janex/admin-dashboard-backend/modules/utils"
|
||||||
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/gofiber/websocket/v2"
|
"github.com/gofiber/websocket/v2"
|
||||||
|
@ -693,3 +694,39 @@ func AllUsersCreateNewUser(sessionId string, body map[string]interface{}) {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func AllUsersDeleteUser(userId string) {
|
||||||
|
var user structs.User
|
||||||
|
|
||||||
|
database.DB.Select("avatar").Where("id = ?", userId).Find(&user)
|
||||||
|
|
||||||
|
if user.Avatar != "" {
|
||||||
|
os.Remove("./public/avatars/" + user.Avatar)
|
||||||
|
}
|
||||||
|
|
||||||
|
database.DB.Where("id = ?", userId).Delete(&structs.User{})
|
||||||
|
database.DB.Where("user_id = ?", userId).Delete(&structs.UserSession{})
|
||||||
|
|
||||||
|
var scannerInUsage structs.Scanner
|
||||||
|
|
||||||
|
database.DB.Select("id").Where("used_by_user_id = ?", userId).Find(&scannerInUsage)
|
||||||
|
|
||||||
|
if scannerInUsage.Id != "" {
|
||||||
|
database.DB.Model(&structs.Scanner{}).Where("id = ?", scannerInUsage.Id).Updates(structs.Scanner{
|
||||||
|
UsedByUserId: "",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
CloseAndDeleteAllUserConnections(userId)
|
||||||
|
|
||||||
|
BroadcastMessage(structs.SendSocketMessage{
|
||||||
|
Cmd: utils.SentCmdAllUsersUserDeleted,
|
||||||
|
Body: struct {
|
||||||
|
UserId string
|
||||||
|
ScannerId string
|
||||||
|
}{
|
||||||
|
UserId: userId,
|
||||||
|
ScannerId: scannerInUsage.Id,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
@ -267,6 +267,14 @@ func RunHub() {
|
||||||
|
|
||||||
socketclients.AllUsersCreateNewUser(data.Conn.Locals("sessionId").(string), receivedMessage.Body)
|
socketclients.AllUsersCreateNewUser(data.Conn.Locals("sessionId").(string), receivedMessage.Body)
|
||||||
break
|
break
|
||||||
|
case utils.ReceivedCmdAllUsersDeleteUser:
|
||||||
|
if !socketclients.HasPermission(data.Conn.Locals("userId").(string), utils.PermissionAllUsersActionDeleteUser) {
|
||||||
|
socketclients.SendErrorMessageNoPermissions(data.Conn.Locals("sessionId").(string))
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
socketclients.AllUsersDeleteUser(receivedMessage.Body["UserId"].(string))
|
||||||
|
break
|
||||||
|
|
||||||
default:
|
default:
|
||||||
log.Error().Msgf("Received unknown message: %v", receivedMessage)
|
log.Error().Msgf("Received unknown message: %v", receivedMessage)
|
||||||
|
|
Loading…
Reference in New Issue