loadDiagram method
- String diagramId
override
Implementation
@override
Future<Either<Failure, ElectricalNode>> loadDiagram(String diagramId) async {
try {
final dir = await getApplicationDocumentsDirectory();
final file = File('${dir.path}/diagrams/$diagramId.json');
if (!await file.exists()) {
return const Left(CacheFailure("Diagram not found"));
}
final jsonString = await file.readAsString();
final jsonMap = jsonDecode(jsonString);
final dto = ElectricalNodeDto.fromJson(jsonMap);
return Right(dto.toDomain());
} catch (e) {
return Left(CacheFailure("Failed to load diagram: $e"));
}
}