(&self, role: &StoredRole)
| 100 | // ── Role operations ────────────────────────────────────────────── |
| 101 | |
| 102 | pub fn put_role(&self, role: &StoredRole) -> crate::Result<()> { |
| 103 | let bytes = zerompk::to_msgpack_vec(role).map_err(|e| catalog_err("serialize role", e))?; |
| 104 | let write_txn = self |
| 105 | .db |
| 106 | .begin_write() |
| 107 | .map_err(|e| catalog_err("write txn", e))?; |
| 108 | { |
| 109 | let mut table = write_txn |
| 110 | .open_table(ROLES) |
| 111 | .map_err(|e| catalog_err("open roles", e))?; |
| 112 | table |
| 113 | .insert(role.name.as_str(), bytes.as_slice()) |
| 114 | .map_err(|e| catalog_err("insert role", e))?; |
| 115 | } |
| 116 | write_txn.commit().map_err(|e| catalog_err("commit", e)) |
| 117 | } |
| 118 | |
| 119 | pub fn delete_role(&self, name: &str) -> crate::Result<()> { |
| 120 | let write_txn = self |
no test coverage detected