summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/api/trello.go5
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)
}