import 'package:prod/models/editor.dart'; import "dart:io"; import "package:path/path.dart" as p; class Project { final String name; final String language; final File path; final List editors; final bool isGit; final bool enableTerminal; Project( this.name, this.language, this.path, this.editors, this.isGit, this.enableTerminal, ); factory Project.newValidated( String name, String lang, String path, List editors, bool enableTerminal, ) { final File fpath = File(path); print(fpath.absolute.path); if (fpath.existsSync()) { print("Project not found!!!"); } else { print("Project Exists on disk"); } String gitPath = p.join(path, ".git", "HEAD"); final bool isGit = File(gitPath).existsSync(); return Project(name, lang, fpath, editors, isGit, enableTerminal); } Map toJson() { return { "name": name, "language": language, "path": path.path, "editors": editors, "isGit": isGit, "enableTerminal": enableTerminal, }; } factory Project.fromJson(Map data) { return Project( data["name"] as String, data["language"] as String, File(data["path"] as String), (data["editors"] as List).map((a) => a.toString()).toList(), data["isGit"] as bool, data["enableTerminal"] as bool, ); } // bool validatePath(){ // return File // } }