fetchStatesByIds method
Returns minimal normalized issues for the supplied issueIds.
Used by reconciliation. Implementations MAY return a subset when issues no longer exist, and SHOULD include enough state for the scheduler to classify the issue (state, identifier, blockers when relevant).
Implementation
@override
Future<TrackerResult<List<Issue>>> fetchStatesByIds(
List<String> issueIds,
) async {
if (issueIds.isEmpty) {
return const TrackerSuccess<List<Issue>>(<Issue>[]);
}
final result = await _loadAllIssues();
return result.fold(TrackerError<List<Issue>>.new, (issues) {
final wanted = issueIds.toSet();
final filtered = issues
.where((i) => wanted.contains(i.id))
.toList(growable: false);
return TrackerSuccess<List<Issue>>(filtered);
});
}