(&self)
| 133 | } |
| 134 | |
| 135 | pub fn load_all_roles(&self) -> crate::Result<Vec<StoredRole>> { |
| 136 | let read_txn = self |
| 137 | .db |
| 138 | .begin_read() |
| 139 | .map_err(|e| catalog_err("read txn", e))?; |
| 140 | let table = read_txn |
| 141 | .open_table(ROLES) |
| 142 | .map_err(|e| catalog_err("open roles", e))?; |
| 143 | let mut roles = Vec::new(); |
| 144 | for entry in table |
| 145 | .range::<&str>(..) |
| 146 | .map_err(|e| catalog_err("range roles", e))? |
| 147 | { |
| 148 | let (_, value) = entry.map_err(|e| catalog_err("read role", e))?; |
| 149 | roles.push( |
| 150 | zerompk::from_msgpack(value.value()).map_err(|e| catalog_err("deser role", e))?, |
| 151 | ); |
| 152 | } |
| 153 | Ok(roles) |
| 154 | } |
| 155 | |
| 156 | // ── Permission operations ─────────────────────────────────────── |
| 157 |
no test coverage detected