diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-08-28 17:08:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-28 17:08:24 +0200 |
commit | 7e946858a4a0a03c1461590c6fc8a315738a627a (patch) | |
tree | 5a6a391fead573b85fb905bb5c4ea8287dc18d13 /cli/ops/permissions.rs | |
parent | 31f32ed8c4082d36ad2a4ea460366c0d57a5ddbc (diff) |
refactor: migrate ops to new dispatch wrapper (#7118)
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() })) } |