added remove log manager server connection

main
alex 2023-09-13 09:44:33 +02:00
parent 16ae8b51de
commit 06e1c5a1ef
3 changed files with 24 additions and 2 deletions

View File

@ -75,7 +75,7 @@ const (
SentCmdAdminAreaUpdateRoleSortingOrder = 21
SentCmdAdminAreaRoleDeleted = 22
SentCmdAllUsersUserRoleUpdated = 23
SentCmdRolePermissionsUpdated = 24
SentCmdRolePermissionsUpdated = 24
SentCmdErrorNoPermissions = 25
SentCmdAllUsersNewUserCreated = 26
SentCmdAllUsersUserDeleted = 27
@ -95,7 +95,8 @@ const (
SentCmdAllNotificationsDeleted = 42
SentCmdOneNotificationDeleted = 43
SentCmdAdminAreaManageCheckedForAvailableCategories = 44
SentCmdAdminAreaManageLogManagerServerConnectionAdded = 45
SentCmdAdminAreaManageLogManagerServerConnectionAdded = 45
SentCmdAdminAreaManageLogManagerServerConnectionRemoved = 46
)
// commands received from web clients
@ -126,6 +127,7 @@ const (
ReceivedCmdDeleteOneNotification = 25
ReceivedCmdAdminAreaManageCheckWhichCategoriesAreAvailable = 26
ReceivedCmdAdminAreaManageAddLogManagerServerConnection = 27
ReceivedCmdAdminAreaManageDeleteLogManagerServerConnection = 28
)
const (
@ -195,6 +197,7 @@ const (
_adminAreaManage = _adminArea + "manage."
PermissionAdminAreaManageCheckWhichCategoriesAreAvailable = _adminAreaManage + "check_which_categories_are_available"
PermissionAdminAreaManageAddLogManagerServerConnection = _adminAreaManage + "add_log_manager_server_connection"
PermissionAdminAreaManageRemoveLogManagerServerConnection = _adminAreaManage + "remove_add_log_manager_server_connection"
PermissionUserProfileApiKeys = "user_profile.api_keys"
_consoles = "consoles."
@ -220,6 +223,7 @@ var SystemPermissions = []string{
PermissionAdminAreaLogs,
PermissionAdminAreaManageCheckWhichCategoriesAreAvailable,
PermissionAdminAreaManageAddLogManagerServerConnection,
PermissionAdminAreaManageRemoveLogManagerServerConnection,
PermissionUserProfileApiKeys,
PermissionConsolesView,
}

View File

@ -1099,3 +1099,14 @@ func AddLogManagerServerConnection(displayName string, address string) {
Body: newConnection,
})
}
func DeleteLogManagerServerConnection(id string) {
database.DB.Where("id = ?", id).Delete(&structs.LogManagerServerConnection{})
BroadcastMessageToTopics(
[]string{utils.SubscribedTopicAdminAreaManage, utils.SubscribedTopicConsoles},
structs.SendSocketMessage{
Cmd: utils.SentCmdAdminAreaManageLogManagerServerConnectionRemoved,
Body: id,
})
}

View File

@ -341,6 +341,13 @@ func RunHub() {
socketclients.AddLogManagerServerConnection(receivedMessage.Body["DisplayName"].(string), receivedMessage.Body["Address"].(string))
break
case utils.ReceivedCmdAdminAreaManageDeleteLogManagerServerConnection:
if !socketclients.HasPermission(data.Conn.Locals("userId").(string), utils.PermissionAdminAreaManageRemoveLogManagerServerConnection) {
socketclients.SendErrorMessageNoPermissions(data.Conn.Locals("sessionId").(string))
}
socketclients.DeleteLogManagerServerConnection(receivedMessage.Body["Id"].(string))
break
default:
log.Error().Msgf("Received unknown message: %v", receivedMessage)