group task typing message

main
alex 2023-06-04 21:20:21 +02:00
parent ecc1f94942
commit 033a05a9b5
3 changed files with 10 additions and 28 deletions

View File

@ -10,14 +10,14 @@ import (
var lockedGroupTaskSteps []*structs.LockedGroupTaskSteps var lockedGroupTaskSteps []*structs.LockedGroupTaskSteps
var lgtMu sync.RWMutex var lgtMu sync.RWMutex
func AddLockedGroupTaskStep(lockedGroupTaskStep structs.LockedGroupTaskSteps) (IsAlreadyInList bool) { func AddLockedGroupTaskStep(lockedGroupTaskStep structs.LockedGroupTaskSteps) {
lgtMu.Lock() lgtMu.Lock()
var isAlreadyInList = false var isAlreadyInList = false
for i, step := range lockedGroupTaskSteps { for i, step := range lockedGroupTaskSteps {
if step.GroupTaskId == lockedGroupTaskStep.GroupTaskId && if step.GroupTaskId == lockedGroupTaskStep.GroupTaskId &&
step.LockedByUserId == lockedGroupTaskStep.LockedByUserId { lockedGroupTaskSteps[i].LockedByUserId == lockedGroupTaskStep.LockedByUserId {
isAlreadyInList = true isAlreadyInList = true
lockedGroupTaskSteps[i].LockedAt = time.Now() lockedGroupTaskSteps[i].LockedAt = time.Now()
lockedGroupTaskSteps[i].RememberId = lockedGroupTaskStep.RememberId lockedGroupTaskSteps[i].RememberId = lockedGroupTaskStep.RememberId
@ -30,8 +30,6 @@ func AddLockedGroupTaskStep(lockedGroupTaskStep structs.LockedGroupTaskSteps) (I
} }
lgtMu.Unlock() lgtMu.Unlock()
return isAlreadyInList
} }
func RemoveLockedGroupTaskStep(i int) { func RemoveLockedGroupTaskStep(i int) {

View File

@ -50,7 +50,6 @@ const (
ReceivedCmdTaskContinueTaskStep = 3 ReceivedCmdTaskContinueTaskStep = 3
ReceivedCmdReloadGroupTasks = 4 ReceivedCmdReloadGroupTasks = 4
ReceivedCmdTaskLocking = 5 ReceivedCmdTaskLocking = 5
ReceivedCmdUpdateGroupTaskStepUserInputValue = 6
) )
const ( const (

View File

@ -155,9 +155,7 @@ func RunHub() {
break break
case utils.ReceivedCmdTaskLocking: case utils.ReceivedCmdTaskLocking:
log.Info().Msgf("task locking %s", receivedMessage.Body) cache.AddLockedGroupTaskStep(structs.LockedGroupTaskSteps{
isAlreadyInList := cache.AddLockedGroupTaskStep(structs.LockedGroupTaskSteps{
LockedByUserId: receivedMessage.Body["lockedByUserId"].(string), LockedByUserId: receivedMessage.Body["lockedByUserId"].(string),
GroupTaskId: receivedMessage.Body["groupTaskId"].(string), GroupTaskId: receivedMessage.Body["groupTaskId"].(string),
Step: uint8(receivedMessage.Body["step"].(float64)), Step: uint8(receivedMessage.Body["step"].(float64)),
@ -165,23 +163,10 @@ func RunHub() {
RememberId: receivedMessage.Body["rememberId"].(string), RememberId: receivedMessage.Body["rememberId"].(string),
}) })
if !isAlreadyInList {
socketclients.BroadcastMessage(structs.SendSocketMessage{ socketclients.BroadcastMessage(structs.SendSocketMessage{
Cmd: utils.SentCmdTaskLocked, Cmd: utils.SentCmdTaskLocked,
Body: receivedMessage.Body, Body: receivedMessage.Body,
}) })
}
break
case utils.ReceivedCmdUpdateGroupTaskStepUserInputValue:
socketclients.BroadcastMessage(structs.SendSocketMessage{
Cmd: utils.SentCmdUpdateGroupTaskStepUserInputValue,
Body: receivedMessage.Body,
})
cache.ExtendLockedGroupTaskStepLockedAtTime(structs.LockedGroupTaskSteps{
GroupTaskId: receivedMessage.Body["groupTaskId"].(string),
})
cache.AddGroupTaskStepsInput(structs.GroupTaskStepsInput{ cache.AddGroupTaskStepsInput(structs.GroupTaskStepsInput{
GroupTaskId: receivedMessage.Body["groupTaskId"].(string), GroupTaskId: receivedMessage.Body["groupTaskId"].(string),
@ -189,8 +174,8 @@ func RunHub() {
ParameterName: receivedMessage.Body["parameterName"].(string), ParameterName: receivedMessage.Body["parameterName"].(string),
Value: receivedMessage.Body["value"], Value: receivedMessage.Body["value"],
}) })
break
break
default: default:
log.Error().Msgf("Received unknown message: %v", receivedMessage) log.Error().Msgf("Received unknown message: %v", receivedMessage)
break break