From b123746f58992f9146ff93ebd87a17cb88bc1ff5 Mon Sep 17 00:00:00 2001 From: yahortsaryk Date: Thu, 29 Jun 2023 14:28:23 +0200 Subject: [PATCH] chore(perms): permissions store adapted to upgrades --- bucket/ddc_bucket/perm/store.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/bucket/ddc_bucket/perm/store.rs b/bucket/ddc_bucket/perm/store.rs index 32772d99..4d5a12e5 100644 --- a/bucket/ddc_bucket/perm/store.rs +++ b/bucket/ddc_bucket/perm/store.rs @@ -16,28 +16,29 @@ type PermKey = Vec; #[derive(SpreadAllocate, SpreadLayout, Default)] #[cfg_attr(feature = "std", derive(ink_storage::traits::StorageLayout, Debug))] -pub struct PermStore(pub Mapping); -// TODO: Switch to Mapping (must upgrade ink first). +pub struct PermStore { + pub perms: Mapping +} impl PermStore { pub fn grant_permission(&mut self, account_id: AccountId, permission: &Permission) { let key = (account_id, permission).encode(); - self.0.insert(key, &true); + self.perms.insert(key, &true); } pub fn revoke_permission(&mut self, account_id: AccountId, permission: &Permission) { let key = (account_id, permission).encode(); - self.0.remove(&key); + self.perms.remove(&key); } pub fn has_permission(&self, account_id: AccountId, permission: Permission) -> bool { let key = (account_id, permission).encode(); - if self.0.contains(&key) { + if self.perms.contains(&key) { return true; } let admin_key = (account_id, Permission::SuperAdmin).encode(); - self.0.contains(&admin_key) + self.perms.contains(&admin_key) } }