MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / put_role

Method put_role

nodedb/src/control/security/catalog/security.rs:102–117  ·  view source on GitHub ↗
(&self, role: &StoredRole)

Source from the content-addressed store, hash-verified

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

Callers 5

create_roleMethod · 0.80
putFunction · 0.80
create_roleFunction · 0.80
alter_roleFunction · 0.80
set_role_parentFunction · 0.80

Calls 6

begin_writeMethod · 0.80
catalog_errFunction · 0.70
insertMethod · 0.45
as_strMethod · 0.45
as_sliceMethod · 0.45
commitMethod · 0.45

Tested by

no test coverage detected