1
0
mirror of https://github.com/mattermost/focalboard.git synced 2025-03-20 20:45:00 +02:00

call notification engine when duplicating boards (#2910)

This commit is contained in:
Doug Lauder 2022-04-22 13:14:12 -04:00 committed by GitHub
parent ec9085cd25
commit ca5f3f65e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 16 deletions

View File

@ -19,7 +19,7 @@ import (
) )
const ( const (
blockChangeNotifierQueueSize = 100 blockChangeNotifierQueueSize = 1000
blockChangeNotifierPoolSize = 10 blockChangeNotifierPoolSize = 10
blockChangeNotifierShutdownTimeout = time.Second * 10 blockChangeNotifierShutdownTimeout = time.Second * 10
) )

View File

@ -5,6 +5,7 @@ import (
"fmt" "fmt"
"github.com/mattermost/focalboard/server/model" "github.com/mattermost/focalboard/server/model"
"github.com/mattermost/focalboard/server/services/notify"
"github.com/mattermost/focalboard/server/utils" "github.com/mattermost/focalboard/server/utils"
) )
@ -144,19 +145,22 @@ func (a *App) DuplicateBoard(boardID, userID, toTeam string, asTemplate bool) (*
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
go func() { a.blockChangeNotifier.Enqueue(func() error {
teamID := "" teamID := ""
for _, board := range bab.Boards { for _, board := range bab.Boards {
teamID = board.TeamID teamID = board.TeamID
a.wsAdapter.BroadcastBoardChange(teamID, board) a.wsAdapter.BroadcastBoardChange(teamID, board)
} }
for _, block := range bab.Blocks { for _, block := range bab.Blocks {
a.wsAdapter.BroadcastBlockChange(teamID, block) blk := block
a.wsAdapter.BroadcastBlockChange(teamID, blk)
a.notifyBlockChanged(notify.Add, &blk, nil, userID)
} }
for _, member := range members { for _, member := range members {
a.wsAdapter.BroadcastMemberChange(teamID, member.BoardID, member) a.wsAdapter.BroadcastMemberChange(teamID, member.BoardID, member)
} }
}() return nil
})
return bab, members, err return bab, members, err
} }
@ -187,13 +191,14 @@ func (a *App) CreateBoard(board *model.Board, userID string, addMember bool) (*m
return nil, err return nil, err
} }
go func() { a.blockChangeNotifier.Enqueue(func() error {
a.wsAdapter.BroadcastBoardChange(newBoard.TeamID, newBoard) a.wsAdapter.BroadcastBoardChange(newBoard.TeamID, newBoard)
if addMember { if addMember {
a.wsAdapter.BroadcastMemberChange(newBoard.TeamID, newBoard.ID, member) a.wsAdapter.BroadcastMemberChange(newBoard.TeamID, newBoard.ID, member)
} }
}() return nil
})
return newBoard, nil return newBoard, nil
} }
@ -204,9 +209,10 @@ func (a *App) PatchBoard(patch *model.BoardPatch, boardID, userID string) (*mode
return nil, err return nil, err
} }
go func() { a.blockChangeNotifier.Enqueue(func() error {
a.wsAdapter.BroadcastBoardChange(updatedBoard.TeamID, updatedBoard) a.wsAdapter.BroadcastBoardChange(updatedBoard.TeamID, updatedBoard)
}() return nil
})
return updatedBoard, nil return updatedBoard, nil
} }
@ -224,9 +230,10 @@ func (a *App) DeleteBoard(boardID, userID string) error {
return err return err
} }
go func() { a.blockChangeNotifier.Enqueue(func() error {
a.wsAdapter.BroadcastBoardDelete(board.TeamID, boardID) a.wsAdapter.BroadcastBoardDelete(board.TeamID, boardID)
}() return nil
})
return nil return nil
} }
@ -266,9 +273,10 @@ func (a *App) AddMemberToBoard(member *model.BoardMember) (*model.BoardMember, e
return nil, err return nil, err
} }
go func() { a.blockChangeNotifier.Enqueue(func() error {
a.wsAdapter.BroadcastMemberChange(board.TeamID, member.BoardID, member) a.wsAdapter.BroadcastMemberChange(board.TeamID, member.BoardID, member)
}() return nil
})
return newMember, nil return newMember, nil
} }
@ -307,9 +315,10 @@ func (a *App) UpdateBoardMember(member *model.BoardMember) (*model.BoardMember,
return nil, err return nil, err
} }
go func() { a.blockChangeNotifier.Enqueue(func() error {
a.wsAdapter.BroadcastMemberChange(board.TeamID, member.BoardID, member) a.wsAdapter.BroadcastMemberChange(board.TeamID, member.BoardID, member)
}() return nil
})
return newMember, nil return newMember, nil
} }
@ -361,9 +370,10 @@ func (a *App) DeleteBoardMember(boardID, userID string) error {
return err return err
} }
go func() { a.blockChangeNotifier.Enqueue(func() error {
a.wsAdapter.BroadcastMemberDelete(board.TeamID, boardID, userID) a.wsAdapter.BroadcastMemberDelete(board.TeamID, boardID, userID)
}() return nil
})
return nil return nil
} }