List all tracked files. # Arguments `txn` - A transaction (read or write) # Returns A vector of all tracked files and directories.
(txn: &T)
| 322 | /// |
| 323 | /// A vector of all tracked files and directories. |
| 324 | pub fn list_tracked<T: TreeTxnT>(txn: &T) -> TrackingResult<Vec<TrackedFile>> { |
| 325 | let iter = txn |
| 326 | .iter_tree() |
| 327 | .map_err(|e| TrackingError::Database(e.to_string()))?; |
| 328 | |
| 329 | let mut results = Vec::new(); |
| 330 | for result in iter { |
| 331 | let (path, inode) = result.map_err(|e| TrackingError::Database(e.to_string()))?; |
| 332 | let is_directory = is_directory_inode(txn, inode)?; |
| 333 | results.push(TrackedFile::new(PathBuf::from(path), inode, is_directory)); |
| 334 | } |
| 335 | |
| 336 | Ok(results) |
| 337 | } |
| 338 | |
| 339 | /// List all tracked directories. |
| 340 | /// |