saveDiagram method
- ElectricalNode root
override
Implementation
@override
Future<Either<Failure, ElectricalNode>> saveDiagram(
ElectricalNode root) async {
try {
final dto = root.toDto();
final jsonMap = dto.toJson();
final jsonString = jsonEncode(jsonMap);
final dir = await getApplicationDocumentsDirectory();
final diagramsDir = Directory('${dir.path}/diagrams');
if (!await diagramsDir.exists()) {
await diagramsDir.create(recursive: true);
}
final file = File('${diagramsDir.path}/${root.id}.json');
await file.writeAsString(jsonString);
return Right(root);
} catch (e) {
return Left(CacheFailure("Failed to save diagram: $e"));
}
}