added rememberId for task locking

main
alex 2023-06-03 22:58:53 +02:00
parent 69de96b3aa
commit ecc1f94942
4 changed files with 16 additions and 13 deletions

View File

@ -304,15 +304,17 @@ func StartUnlockLockedGroupTaskStepsTicker() {
log.Debug().Msgf("Unlocked task step %v", index)
cache.RemoveLockedGroupTaskStep(index)
socketclients.BroadcastMessageExceptUserSessionId(taskStep.LockedByUserSession,
socketclients.BroadcastMessage(
structs.SendSocketMessage{
Cmd: utils.SentCmdTaskUnlocked,
Body: struct {
GroupTaskId string
Step uint8
RememberId string
}{
GroupTaskId: taskStep.GroupTaskId,
Step: taskStep.Step,
RememberId: taskStep.RememberId,
},
})
}

View File

@ -20,6 +20,7 @@ func AddLockedGroupTaskStep(lockedGroupTaskStep structs.LockedGroupTaskSteps) (I
step.LockedByUserId == lockedGroupTaskStep.LockedByUserId {
isAlreadyInList = true
lockedGroupTaskSteps[i].LockedAt = time.Now()
lockedGroupTaskSteps[i].RememberId = lockedGroupTaskStep.RememberId
break
}
}

View File

@ -75,10 +75,10 @@ type TaskParameter struct {
// used for ui when a user is writing into input field to lock the task step for other users
type LockedGroupTaskSteps struct {
LockedByUserId string
LockedByUserSession string // user session is needed to prevent sending the unlocking message to the user who are writing
GroupTaskId string
Step uint8
LockedAt time.Time
RememberId string
}
// used for ui when a user types into input fields to sync to other users and show them this when opening the group task view

View File

@ -159,14 +159,14 @@ func RunHub() {
isAlreadyInList := cache.AddLockedGroupTaskStep(structs.LockedGroupTaskSteps{
LockedByUserId: receivedMessage.Body["lockedByUserId"].(string),
LockedByUserSession: data.Conn.Locals("sessionId").(string),
GroupTaskId: receivedMessage.Body["groupTaskId"].(string),
Step: uint8(receivedMessage.Body["step"].(float64)),
LockedAt: time.Now(),
RememberId: receivedMessage.Body["rememberId"].(string),
})
if !isAlreadyInList {
socketclients.BroadcastMessageExceptUserSessionId(data.Conn.Locals("sessionId").(string), structs.SendSocketMessage{
socketclients.BroadcastMessage(structs.SendSocketMessage{
Cmd: utils.SentCmdTaskLocked,
Body: receivedMessage.Body,
})
@ -174,7 +174,7 @@ func RunHub() {
break
case utils.ReceivedCmdUpdateGroupTaskStepUserInputValue:
socketclients.BroadcastMessageExceptUserSessionId(data.Conn.Locals("sessionId").(string), structs.SendSocketMessage{
socketclients.BroadcastMessage(structs.SendSocketMessage{
Cmd: utils.SentCmdUpdateGroupTaskStepUserInputValue,
Body: receivedMessage.Body,
})