diff options
Diffstat (limited to 'cli/ops/permissions.rs')
-rw-r--r-- | cli/ops/permissions.rs | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/cli/ops/permissions.rs b/cli/ops/permissions.rs index 6ebabfa5c..1d19f91d4 100644 --- a/cli/ops/permissions.rs +++ b/cli/ops/permissions.rs @@ -1,24 +1,27 @@ // Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. -use super::dispatch_json::{Deserialize, JsonOp, Value}; +use super::dispatch_json::{Deserialize, Value}; use crate::state::State; use deno_core::CoreIsolate; use deno_core::ErrBox; +use deno_core::ResourceTable; use deno_core::ZeroCopyBuf; use std::path::Path; use std::rc::Rc; pub fn init(i: &mut CoreIsolate, s: &Rc<State>) { + let t = &CoreIsolate::state(i).borrow().resource_table.clone(); + i.register_op( "op_query_permission", - s.stateful_json_op(op_query_permission), + s.stateful_json_op_sync(t, op_query_permission), ); i.register_op( "op_revoke_permission", - s.stateful_json_op(op_revoke_permission), + s.stateful_json_op_sync(t, op_revoke_permission), ); i.register_op( "op_request_permission", - s.stateful_json_op(op_request_permission), + s.stateful_json_op_sync(t, op_request_permission), ); } @@ -30,10 +33,11 @@ struct PermissionArgs { } pub fn op_query_permission( - state: &Rc<State>, + state: &State, + _resource_table: &mut ResourceTable, args: Value, _zero_copy: &mut [ZeroCopyBuf], -) -> Result<JsonOp, ErrBox> { +) -> Result<Value, ErrBox> { let args: PermissionArgs = serde_json::from_value(args)?; let permissions = state.permissions.borrow(); let path = args.path.as_deref(); @@ -52,14 +56,15 @@ pub fn op_query_permission( )) } }; - Ok(JsonOp::Sync(json!({ "state": perm.to_string() }))) + Ok(json!({ "state": perm.to_string() })) } pub fn op_revoke_permission( - state: &Rc<State>, + state: &State, + _resource_table: &mut ResourceTable, args: Value, _zero_copy: &mut [ZeroCopyBuf], -) -> Result<JsonOp, ErrBox> { +) -> Result<Value, ErrBox> { let args: PermissionArgs = serde_json::from_value(args)?; let mut permissions = state.permissions.borrow_mut(); let path = args.path.as_deref(); @@ -78,14 +83,15 @@ pub fn op_revoke_permission( )) } }; - Ok(JsonOp::Sync(json!({ "state": perm.to_string() }))) + Ok(json!({ "state": perm.to_string() })) } pub fn op_request_permission( - state: &Rc<State>, + state: &State, + _resource_table: &mut ResourceTable, args: Value, _zero_copy: &mut [ZeroCopyBuf], -) -> Result<JsonOp, ErrBox> { +) -> Result<Value, ErrBox> { let args: PermissionArgs = serde_json::from_value(args)?; let permissions = &mut state.permissions.borrow_mut(); let path = args.path.as_deref(); @@ -104,5 +110,5 @@ pub fn op_request_permission( )) } }; - Ok(JsonOp::Sync(json!({ "state": perm.to_string() }))) + Ok(json!({ "state": perm.to_string() })) } |