(&self, record: &PatchRecord)
| 61 | } |
| 62 | |
| 63 | pub fn append_record(&self, record: &PatchRecord) -> Result<()> { |
| 64 | let line = serde_json::to_string(record)?; |
| 65 | let mut file = OpenOptions::new() |
| 66 | .create(true) |
| 67 | .append(true) |
| 68 | .open(self.root.join(PATCH_LOG_FILE))?; |
| 69 | writeln!(file, "{line}")?; |
| 70 | self.recompute_aggregates()?; |
| 71 | Ok(()) |
| 72 | } |
| 73 | |
| 74 | pub fn list_records(&self, filter: &PatchQuery) -> Result<Vec<PatchRecord>> { |
| 75 | let file = File::open(self.root.join(PATCH_LOG_FILE))?; |