Skip to content

Commit c5fecc9

Browse files
committed
Extended roles interface
1 parent 3883c8d commit c5fecc9

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

src/access_control/role.rs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,12 @@ impl<T: AsRef<str>> AccessControl<T> {
6969
address: &Addr,
7070
) -> StdResult<()> {
7171
Self::ensure_role_admin(&deps.as_ref(), env, sender, role)?;
72+
Self::storage_set_role(deps.storage, role, address)?;
73+
Ok(())
74+
}
7275

73-
HAS_ROLE.save(deps.storage, (role.as_ref(), address), &())?;
76+
pub fn storage_set_role(storage: &mut dyn Storage, role: &T, address: &Addr) -> StdResult<()> {
77+
HAS_ROLE.save(storage, (role.as_ref(), address), &())?;
7478
Ok(())
7579
}
7680

@@ -82,8 +86,16 @@ impl<T: AsRef<str>> AccessControl<T> {
8286
address: &Addr,
8387
) -> StdResult<()> {
8488
Self::ensure_role_admin(&deps.as_ref(), env, sender, role)?;
89+
Self::storage_remove_role(deps.storage, role, address)?;
90+
Ok(())
91+
}
8592

86-
HAS_ROLE.remove(deps.storage, (role.as_ref(), address));
93+
pub fn storage_remove_role(
94+
storage: &mut dyn Storage,
95+
role: &T,
96+
address: &Addr,
97+
) -> StdResult<()> {
98+
HAS_ROLE.remove(storage, (role.as_ref(), address));
8799
Ok(())
88100
}
89101

0 commit comments

Comments
 (0)