getSavedDiagrams method
override
Implementation
@override
Future<Either<Failure, List<ElectricalNode>>> getSavedDiagrams() async {
try {
final dir = await getApplicationDocumentsDirectory();
final diagramsDir = Directory('${dir.path}/diagrams');
if (!await diagramsDir.exists()) {
return const Right([]);
}
final List<ElectricalNode> diagrams = [];
await for (final file in diagramsDir.list()) {
if (file is File && file.path.endsWith('.json')) {
try {
final jsonString = await file.readAsString();
final jsonMap = jsonDecode(jsonString);
final dto = ElectricalNodeDto.fromJson(jsonMap);
diagrams.add(dto.toDomain());
} catch (e) {
// Skip invalid diagram files
}
}
}
return Right(diagrams);
} catch (e) {
return Left(CacheFailure("Failed to list diagrams: $e"));
}
}