import 'package:term_remote_ctl/core/network/agent_api_client.dart'; import 'project.dart'; class ProjectRepository { ProjectRepository(this._client); final AgentApiClient _client; Future> listProjects() async { final projects = await _client.listProjects(); return projects.map(Project.fromJson).toList(growable: false); } Future createProject({ required String name, required String workingDirectory, }) async { final project = await _client.createProject( name: name, workingDirectory: workingDirectory, ); return Project.fromJson(project); } Future updateProject({ required String projectId, required String name, required String workingDirectory, }) async { final project = await _client.updateProject( projectId: projectId, name: name, workingDirectory: workingDirectory, ); return Project.fromJson(project); } Future getProjectDetail(String projectId) async { final detail = await _client.getProjectDetail(projectId); return ProjectDetail.fromJson(detail); } Future deleteProject(String projectId) { return _client.deleteProject(projectId); } }