summaryrefslogtreecommitdiff
path: root/cli/ops/permissions.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/ops/permissions.rs')
-rw-r--r--cli/ops/permissions.rs27
1 files changed, 7 insertions, 20 deletions
diff --git a/cli/ops/permissions.rs b/cli/ops/permissions.rs
index 3ccff4065..13a8f3bb8 100644
--- a/cli/ops/permissions.rs
+++ b/cli/ops/permissions.rs
@@ -1,6 +1,5 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
use super::dispatch_json::{Deserialize, JsonOp, Value};
-use crate::fs as deno_fs;
use crate::op_error::OpError;
use crate::state::State;
use deno_core::CoreIsolate;
@@ -29,14 +28,6 @@ struct PermissionArgs {
path: Option<String>,
}
-fn resolve_path(path: &str) -> String {
- deno_fs::resolve_from_cwd(Path::new(path))
- .unwrap()
- .to_str()
- .unwrap()
- .to_string()
-}
-
pub fn op_query_permission(
state: &State,
args: Value,
@@ -44,11 +35,11 @@ pub fn op_query_permission(
) -> Result<JsonOp, OpError> {
let args: PermissionArgs = serde_json::from_value(args)?;
let state = state.borrow();
- let resolved_path = args.path.as_deref().map(resolve_path);
+ let path = args.path.as_deref();
let perm = state.permissions.get_permission_state(
&args.name,
&args.url.as_deref(),
- &resolved_path.as_deref().map(Path::new),
+ &path.as_deref().map(Path::new),
)?;
Ok(JsonOp::Sync(json!({ "state": perm.to_string() })))
}
@@ -71,11 +62,11 @@ pub fn op_revoke_permission(
"hrtime" => permissions.allow_hrtime.revoke(),
_ => {}
};
- let resolved_path = args.path.as_deref().map(resolve_path);
+ let path = args.path.as_deref();
let perm = permissions.get_permission_state(
&args.name,
&args.url.as_deref(),
- &resolved_path.as_deref().map(Path::new),
+ &path.as_deref().map(Path::new),
)?;
Ok(JsonOp::Sync(json!({ "state": perm.to_string() })))
}
@@ -88,15 +79,11 @@ pub fn op_request_permission(
let args: PermissionArgs = serde_json::from_value(args)?;
let mut state = state.borrow_mut();
let permissions = &mut state.permissions;
- let resolved_path = args.path.as_deref().map(resolve_path);
+ let path = args.path.as_deref();
let perm = match args.name.as_ref() {
"run" => Ok(permissions.request_run()),
- "read" => {
- Ok(permissions.request_read(&resolved_path.as_deref().map(Path::new)))
- }
- "write" => {
- Ok(permissions.request_write(&resolved_path.as_deref().map(Path::new)))
- }
+ "read" => Ok(permissions.request_read(&path.as_deref().map(Path::new))),
+ "write" => Ok(permissions.request_write(&path.as_deref().map(Path::new))),
"net" => permissions.request_net(&args.url.as_deref()),
"env" => Ok(permissions.request_env()),
"plugin" => Ok(permissions.request_plugin()),