junobuild_satellite/access_keys/
store.rs1use crate::memory::state::STATE;
2use junobuild_shared::segments::access_keys::{
3 delete_access_keys as delete_controllers_impl, filter_admin_access_keys,
4 set_access_keys as set_controllers_impl,
5};
6use junobuild_shared::types::interface::SetAccessKey;
7use junobuild_shared::types::state::{AccessKeyId, AccessKeys};
8
9pub fn set_access_keys(new_controllers: &[AccessKeyId], controller: &SetAccessKey) {
14 STATE.with(|state| {
15 set_controllers_impl(
16 new_controllers,
17 controller,
18 &mut state.borrow_mut().heap.controllers,
19 )
20 })
21}
22
23pub fn delete_access_keys(remove_controllers: &[AccessKeyId]) {
24 STATE.with(|state| {
25 delete_controllers_impl(remove_controllers, &mut state.borrow_mut().heap.controllers)
26 })
27}
28
29pub fn get_access_keys() -> AccessKeys {
34 STATE.with(|state| state.borrow().heap.controllers.clone())
35}
36
37pub fn get_admin_access_keys() -> AccessKeys {
43 STATE.with(|state| filter_admin_access_keys(&state.borrow().heap.controllers))
44}