| 125 | } |
| 126 | |
| 127 | fn load_graph_binary(&self, project_id: &str) -> io::Result<Option<PetCodeGraph>> { |
| 128 | let graph_file = self.project_dir(project_id).join("graph.bin"); |
| 129 | |
| 130 | if !graph_file.exists() { |
| 131 | return Ok(None); |
| 132 | } |
| 133 | |
| 134 | let graph = PetGraphStorageManager::load_from_binary(&graph_file) |
| 135 | .map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?; |
| 136 | |
| 137 | Ok(Some(graph)) |
| 138 | } |
| 139 | |
| 140 | pub fn save_file_hash(&self, project_id: &str, file_path: &str, hash: &str) -> io::Result<()> { |
| 141 | let project_dir = self.project_dir(project_id); |