| 149 | } |
| 150 | |
| 151 | fn init_vault(&mut self) -> PristineResult<()> { |
| 152 | // Opening tables with a WriteTransaction creates them if they don't exist |
| 153 | let _ = self.txn.open_table(VAULT_ENTRIES)?; |
| 154 | let _ = self.txn.open_table(VAULT_MANIFEST)?; |
| 155 | |
| 156 | // Store a default manifest if none exists yet |
| 157 | let table = self.txn.open_table(VAULT_MANIFEST)?; |
| 158 | let needs_default = table.get("manifest")?.is_none(); |
| 159 | drop(table); |
| 160 | |
| 161 | if needs_default { |
| 162 | self.put_vault_manifest(&VaultManifest::default())?; |
| 163 | } |
| 164 | |
| 165 | Ok(()) |
| 166 | } |
| 167 | } |
| 168 | |
| 169 | #[cfg(test)] |