summaryrefslogtreecommitdiff
path: root/cli/ops/permissions.rs
diff options
context:
space:
mode:
authorBert Belder <bertbelder@gmail.com>2020-08-18 18:30:13 +0200
committerBert Belder <bertbelder@gmail.com>2020-08-19 02:01:48 +0200
commit27f4aeb92469660fdd78a89a7b2902c08a23ca4a (patch)
treee2076aaf31f0708e5037f46d3750f93b0d637417 /cli/ops/permissions.rs
parentde1007fc6a2a6c2909732dcb87a5af6c1e370b09 (diff)
Make Rc/Arc wrapper around State/GlobalState visible (#7104)
Diffstat (limited to 'cli/ops/permissions.rs')
-rw-r--r--cli/ops/permissions.rs18
1 files changed, 8 insertions, 10 deletions
diff --git a/cli/ops/permissions.rs b/cli/ops/permissions.rs
index 571ea5b21..4cb998536 100644
--- a/cli/ops/permissions.rs
+++ b/cli/ops/permissions.rs
@@ -5,8 +5,9 @@ use crate::state::State;
use deno_core::CoreIsolate;
use deno_core::ZeroCopyBuf;
use std::path::Path;
+use std::rc::Rc;
-pub fn init(i: &mut CoreIsolate, s: &State) {
+pub fn init(i: &mut CoreIsolate, s: &Rc<State>) {
i.register_op(
"op_query_permission",
s.stateful_json_op(op_query_permission),
@@ -29,13 +30,12 @@ struct PermissionArgs {
}
pub fn op_query_permission(
- state: &State,
+ state: &Rc<State>,
args: Value,
_zero_copy: &mut [ZeroCopyBuf],
) -> Result<JsonOp, OpError> {
let args: PermissionArgs = serde_json::from_value(args)?;
- let state = state.borrow();
- let permissions = &state.permissions;
+ let permissions = state.permissions.borrow();
let path = args.path.as_deref();
let perm = match args.name.as_ref() {
"read" => permissions.query_read(&path.as_deref().map(Path::new)),
@@ -51,13 +51,12 @@ pub fn op_query_permission(
}
pub fn op_revoke_permission(
- state: &State,
+ state: &Rc<State>,
args: Value,
_zero_copy: &mut [ZeroCopyBuf],
) -> Result<JsonOp, OpError> {
let args: PermissionArgs = serde_json::from_value(args)?;
- let mut state = state.borrow_mut();
- let permissions = &mut state.permissions;
+ let mut permissions = state.permissions.borrow_mut();
let path = args.path.as_deref();
let perm = match args.name.as_ref() {
"read" => permissions.revoke_read(&path.as_deref().map(Path::new)),
@@ -73,13 +72,12 @@ pub fn op_revoke_permission(
}
pub fn op_request_permission(
- state: &State,
+ state: &Rc<State>,
args: Value,
_zero_copy: &mut [ZeroCopyBuf],
) -> Result<JsonOp, OpError> {
let args: PermissionArgs = serde_json::from_value(args)?;
- let mut state = state.borrow_mut();
- let permissions = &mut state.permissions;
+ let permissions = &mut state.permissions.borrow_mut();
let path = args.path.as_deref();
let perm = match args.name.as_ref() {
"read" => permissions.request_read(&path.as_deref().map(Path::new)),