task locking
parent
0118a0cbca
commit
003c9d3eb3
|
@ -40,6 +40,7 @@ type GroupTaskSteps struct {
|
||||||
Inputs string `gorm:"type:json"`
|
Inputs string `gorm:"type:json"`
|
||||||
StartedAt time.Time
|
StartedAt time.Time
|
||||||
EndedAt time.Time
|
EndedAt time.Time
|
||||||
|
Locked bool `gorm:"-"` // used by the web client to ensure that only one user can edit the input value
|
||||||
}
|
}
|
||||||
|
|
||||||
// read from file structure
|
// read from file structure
|
||||||
|
|
|
@ -36,6 +36,7 @@ const (
|
||||||
SentCmdUpdateScannerUsedBy = 13
|
SentCmdUpdateScannerUsedBy = 13
|
||||||
SentCmdScanResult = 14
|
SentCmdScanResult = 14
|
||||||
SentCmdUpdateScannerLastUsed = 15
|
SentCmdUpdateScannerLastUsed = 15
|
||||||
|
SentCmdTaskLocked = 16
|
||||||
)
|
)
|
||||||
|
|
||||||
// commands received from web clients
|
// commands received from web clients
|
||||||
|
@ -44,6 +45,7 @@ const (
|
||||||
ReceivedCmdTaskFailedTryAgainRunTaskStep = 2
|
ReceivedCmdTaskFailedTryAgainRunTaskStep = 2
|
||||||
ReceivedCmdTaskContinueTaskStep = 3
|
ReceivedCmdTaskContinueTaskStep = 3
|
||||||
ReceivedCmdReloadGroupTasks = 4
|
ReceivedCmdReloadGroupTasks = 4
|
||||||
|
ReceivedCmdTaskLocking = 5
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
|
@ -13,6 +13,14 @@ func BroadcastMessage(sendSocketMessage structs.SendSocketMessage) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func BroadcastMessageExceptUserSessionId(ignoreUserSessionId string, sendSocketMessage structs.SendSocketMessage) {
|
||||||
|
for _, client := range cache.GetSocketClients() {
|
||||||
|
if client.SessionId != ignoreUserSessionId {
|
||||||
|
client.SendMessage(sendSocketMessage)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func UpdateConnectedUsers(userId string) {
|
func UpdateConnectedUsers(userId string) {
|
||||||
BroadcastMessage(structs.SendSocketMessage{
|
BroadcastMessage(structs.SendSocketMessage{
|
||||||
Cmd: utils.SentCmdUpdateConnectedUsers,
|
Cmd: utils.SentCmdUpdateConnectedUsers,
|
||||||
|
|
|
@ -154,6 +154,14 @@ func RunHub() {
|
||||||
grouptasks.LoadGroups(category)
|
grouptasks.LoadGroups(category)
|
||||||
|
|
||||||
break
|
break
|
||||||
|
case utils.ReceivedCmdTaskLocking:
|
||||||
|
log.Info().Msgf("task locking %s", receivedMessage.Body)
|
||||||
|
|
||||||
|
socketclients.BroadcastMessageExceptUserSessionId(data.Conn.Locals("sessionId").(string), structs.SendSocketMessage{
|
||||||
|
Cmd: utils.SentCmdTaskLocked,
|
||||||
|
Body: receivedMessage.Body,
|
||||||
|
})
|
||||||
|
break
|
||||||
|
|
||||||
default:
|
default:
|
||||||
log.Error().Msgf("Received unknown message: %s", receivedMessage)
|
log.Error().Msgf("Received unknown message: %s", receivedMessage)
|
||||||
|
|
Loading…
Reference in New Issue