let check_permission pid password for_what =
match password, Helm_registry.get_bool (permission_key for_what pid) with
_, true -> ()
- | Some pwd, false when Some pwd = Helm_registry.get_opt Helm_registry.get (password_key pid) -> ()
+ | Some pwd, false
+ when Some pwd = Helm_registry.get_opt Helm_registry.string (password_key pid) -> ()
| _ -> raise (Access_denied (string_of_permission for_what, pid))
let create ?id ?clone ?clone_password ?(read_perm=true) ?(write_perm=true) ?(admin_perm=true) ?password () =
Helm_registry.set_bool (read_permission_key pid) read_perm ;
Helm_registry.set_bool (write_permission_key pid) write_perm ;
Helm_registry.set_bool (admin_permission_key pid) admin_perm ;
- Helm_registry.set_opt Helm_registry.set_string (password_key pid) password ;
+ Helm_registry.set_opt Helm_registry.of_string (password_key pid) password ;
pid
let remove pid ?password () =
let set_password pid ?old_password new_password =
check_permission pid old_password `Admin ;
- Helm_registry.set_opt Helm_registry.set (password_key pid) new_password
+ Helm_registry.set_opt Helm_registry.of_string (password_key pid) new_password
let set_permission pid ?password for_what value =
check_permission pid password `Admin ;