diff options
| -rw-r--r-- | internal/api/trello.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/internal/api/trello.go b/internal/api/trello.go index a19bbea..67ffad0 100644 --- a/internal/api/trello.go +++ b/internal/api/trello.go @@ -169,6 +169,7 @@ func (c *TrelloClient) GetBoardsWithCards(ctx context.Context) ([]models.Board, } var wg sync.WaitGroup + var mu sync.Mutex // Protects writes to boards slice elements sem := make(chan struct{}, 5) // Limit to 5 concurrent requests for i := range boards { @@ -186,14 +187,18 @@ func (c *TrelloClient) GetBoardsWithCards(ctx context.Context) ([]models.Board, for j := range cards { cards[j].BoardName = boards[i].Name } + mu.Lock() boards[i].Cards = cards + mu.Unlock() } lists, err := c.getLists(ctx, boards[i].ID) if err != nil { log.Printf("Error fetching lists for board %s: %v", boards[i].Name, err) } else { + mu.Lock() boards[i].Lists = lists + mu.Unlock() } }(i) } |
