From 2cd5c0f1b5925c09bc2fd5447177322c47a5165f Mon Sep 17 00:00:00 2001 From: chensihan Date: Wed, 9 Apr 2025 00:57:05 +0000 Subject: [PATCH 1/7] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chensihan --- interfaces/kits/js/file_share/grant_permissions.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/interfaces/kits/js/file_share/grant_permissions.cpp b/interfaces/kits/js/file_share/grant_permissions.cpp index 7b06a584e..ae4118a7d 100644 --- a/interfaces/kits/js/file_share/grant_permissions.cpp +++ b/interfaces/kits/js/file_share/grant_permissions.cpp @@ -98,6 +98,7 @@ static napi_status GetUriPoliciesArg(napi_env env, napi_value agrv, std::vector< status = napi_get_element(env, agrv, i, &object); if (status != napi_ok) { LOGE("get element failed"); + napi_close_handle_scope(env, scope); return status; } napi_value uriValue; @@ -105,17 +106,20 @@ static napi_status GetUriPoliciesArg(napi_env env, napi_value agrv, std::vector< status = napi_get_named_property(env, object, "uri", &uriValue); if (status != napi_ok) { LOGE("get named property failed"); + napi_close_handle_scope(env, scope); return status; } status = napi_get_named_property(env, object, "operationMode", &modeValue); if (status != napi_ok) { LOGE("get named property failed"); + napi_close_handle_scope(env, scope); return status; } auto [succStr, str, ignore] = NVal(env, uriValue).ToUTF8String(); auto [succMode, mode] = NVal(env, modeValue).ToUint32(); if (!succStr || !succMode) { LOGE("the argument error"); + napi_close_handle_scope(env, scope); return napi_invalid_arg; } UriPolicyInfo uriPolicy {.uri = str.get(), .mode = mode}; @@ -160,6 +164,7 @@ static napi_status GetPathPoliciesArg(napi_env env, napi_value agrv, std::vector status = napi_get_element(env, agrv, i, &object); if (status != napi_ok) { LOGE("get element failed"); + napi_close_handle_scope(env, scope); return status; } napi_value pathValue; @@ -167,17 +172,20 @@ static napi_status GetPathPoliciesArg(napi_env env, napi_value agrv, std::vector status = napi_get_named_property(env, object, "path", &pathValue); if (status != napi_ok) { LOGE("get named property failed"); + napi_close_handle_scope(env, scope); return status; } status = napi_get_named_property(env, object, "operationMode", &modeValue); if (status != napi_ok) { LOGE("get named property failed"); + napi_close_handle_scope(env, scope); return status; } auto [succStr, str, ignore] = NVal(env, pathValue).ToUTF8String(); auto [succMode, mode] = NVal(env, modeValue).ToUint32(); if (!succStr || !succMode) { LOGE("the argument error"); + napi_close_handle_scope(env, scope); return napi_invalid_arg; } PathPolicyInfo pathPolicy {.path = str.get(), .mode = mode}; -- Gitee From 16eb192a4bbbc70fb1a94f143d4031ae83073c68 Mon Sep 17 00:00:00 2001 From: chensihan Date: Wed, 9 Apr 2025 06:45:18 +0000 Subject: [PATCH 2/7] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chensihan --- .../kits/js/file_share/grant_permissions.cpp | 123 ++++++++++-------- 1 file changed, 71 insertions(+), 52 deletions(-) diff --git a/interfaces/kits/js/file_share/grant_permissions.cpp b/interfaces/kits/js/file_share/grant_permissions.cpp index ae4118a7d..12cb5d5af 100644 --- a/interfaces/kits/js/file_share/grant_permissions.cpp +++ b/interfaces/kits/js/file_share/grant_permissions.cpp @@ -76,6 +76,40 @@ static napi_value GetResultData(napi_env env, const vector &results) return res; } +static napi_status GetUriPolicy(napi_env env, napi_value agrv, std::vector &uriPolicies, uint32_t i) +{ + napi_value object; + status = napi_get_element(env, agrv, i, &object); + if (status != napi_ok) { + LOGE("get element failed"); + return status; + } + napi_value uriValue; + napi_value modeValue; + status = napi_get_named_property(env, object, "uri", &uriValue); + if (status != napi_ok) { + LOGE("get named property failed"); + napi_close_handle_scope(env, scope); + return status; + } + status = napi_get_named_property(env, object, "operationMode", &modeValue); + if (status != napi_ok) { + LOGE("get named property failed"); + napi_close_handle_scope(env, scope); + return status; + } + auto [succStr, str, ignore] = NVal(env, uriValue).ToUTF8String(); + auto [succMode, mode] = NVal(env, modeValue).ToUint32(); + if (!succStr || !succMode) { + LOGE("the argument error"); + napi_close_handle_scope(env, scope); + return napi_invalid_arg; + } + UriPolicyInfo uriPolicy {.uri = str.get(), .mode = mode}; + uriPolicies.emplace_back(uriPolicy); + return napi_ok; +} + static napi_status GetUriPoliciesArg(napi_env env, napi_value agrv, std::vector &uriPolicies) { uint32_t count; @@ -94,36 +128,11 @@ static napi_status GetUriPoliciesArg(napi_env env, napi_value agrv, std::vector< if (status != napi_ok) { return status; } - napi_value object; - status = napi_get_element(env, agrv, i, &object); - if (status != napi_ok) { - LOGE("get element failed"); - napi_close_handle_scope(env, scope); - return status; - } - napi_value uriValue; - napi_value modeValue; - status = napi_get_named_property(env, object, "uri", &uriValue); - if (status != napi_ok) { - LOGE("get named property failed"); - napi_close_handle_scope(env, scope); - return status; - } - status = napi_get_named_property(env, object, "operationMode", &modeValue); + status = GetUriPolicy(env, agrv, uriPolicies, i); if (status != napi_ok) { - LOGE("get named property failed"); napi_close_handle_scope(env, scope); return status; } - auto [succStr, str, ignore] = NVal(env, uriValue).ToUTF8String(); - auto [succMode, mode] = NVal(env, modeValue).ToUint32(); - if (!succStr || !succMode) { - LOGE("the argument error"); - napi_close_handle_scope(env, scope); - return napi_invalid_arg; - } - UriPolicyInfo uriPolicy {.uri = str.get(), .mode = mode}; - uriPolicies.emplace_back(uriPolicy); status = napi_close_handle_scope(env, scope); if (status != napi_ok) { return status; @@ -146,6 +155,41 @@ static napi_status CheckPathArray(napi_env env, napi_value agrv, uint32_t &count return napi_ok; } +static napi_status GetPathPolicy(napi_env env, napi_value agrv, std::vector &pathPolicies, uint32_t i) +{ + napi_value object; + status = napi_get_element(env, agrv, i, &object); + if (status != napi_ok) { + LOGE("get element failed"); + napi_close_handle_scope(env, scope); + return status; + } + napi_value pathValue; + napi_value modeValue; + status = napi_get_named_property(env, object, "path", &pathValue); + if (status != napi_ok) { + LOGE("get named property failed"); + napi_close_handle_scope(env, scope); + return status; + } + status = napi_get_named_property(env, object, "operationMode", &modeValue); + if (status != napi_ok) { + LOGE("get named property failed"); + napi_close_handle_scope(env, scope); + return status; + } + auto [succStr, str, ignore] = NVal(env, pathValue).ToUTF8String(); + auto [succMode, mode] = NVal(env, modeValue).ToUint32(); + if (!succStr || !succMode) { + LOGE("the argument error"); + napi_close_handle_scope(env, scope); + return napi_invalid_arg; + } + PathPolicyInfo pathPolicy {.path = str.get(), .mode = mode}; + pathPolicies.emplace_back(pathPolicy); + return napi_ok; +} + static napi_status GetPathPoliciesArg(napi_env env, napi_value agrv, std::vector &pathPolicies) { uint32_t count; @@ -160,36 +204,11 @@ static napi_status GetPathPoliciesArg(napi_env env, napi_value agrv, std::vector LOGE("open handle scope failed"); return status; } - napi_value object; - status = napi_get_element(env, agrv, i, &object); - if (status != napi_ok) { - LOGE("get element failed"); - napi_close_handle_scope(env, scope); - return status; - } - napi_value pathValue; - napi_value modeValue; - status = napi_get_named_property(env, object, "path", &pathValue); + status = GetPathPolicy(env, agrv, uriPolicies, i); if (status != napi_ok) { - LOGE("get named property failed"); napi_close_handle_scope(env, scope); return status; } - status = napi_get_named_property(env, object, "operationMode", &modeValue); - if (status != napi_ok) { - LOGE("get named property failed"); - napi_close_handle_scope(env, scope); - return status; - } - auto [succStr, str, ignore] = NVal(env, pathValue).ToUTF8String(); - auto [succMode, mode] = NVal(env, modeValue).ToUint32(); - if (!succStr || !succMode) { - LOGE("the argument error"); - napi_close_handle_scope(env, scope); - return napi_invalid_arg; - } - PathPolicyInfo pathPolicy {.path = str.get(), .mode = mode}; - pathPolicies.emplace_back(pathPolicy); status = napi_close_handle_scope(env, scope); if (status != napi_ok) { return status; -- Gitee From 08434b4b90ce39c296400cfe2f15c985f089ea4e Mon Sep 17 00:00:00 2001 From: chensihan Date: Wed, 9 Apr 2025 06:48:11 +0000 Subject: [PATCH 3/7] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chensihan --- interfaces/kits/js/file_share/grant_permissions.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/interfaces/kits/js/file_share/grant_permissions.cpp b/interfaces/kits/js/file_share/grant_permissions.cpp index 12cb5d5af..9d9224483 100644 --- a/interfaces/kits/js/file_share/grant_permissions.cpp +++ b/interfaces/kits/js/file_share/grant_permissions.cpp @@ -89,20 +89,17 @@ static napi_status GetUriPolicy(napi_env env, napi_value agrv, std::vector Date: Wed, 9 Apr 2025 07:15:40 +0000 Subject: [PATCH 4/7] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chensihan --- interfaces/kits/js/file_share/grant_permissions.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/interfaces/kits/js/file_share/grant_permissions.cpp b/interfaces/kits/js/file_share/grant_permissions.cpp index 9d9224483..3c0b981a7 100644 --- a/interfaces/kits/js/file_share/grant_permissions.cpp +++ b/interfaces/kits/js/file_share/grant_permissions.cpp @@ -79,7 +79,7 @@ static napi_value GetResultData(napi_env env, const vector &results) static napi_status GetUriPolicy(napi_env env, napi_value agrv, std::vector &uriPolicies, uint32_t i) { napi_value object; - status = napi_get_element(env, agrv, i, &object); + napi_status status = napi_get_element(env, agrv, i, &object); if (status != napi_ok) { LOGE("get element failed"); return status; @@ -155,7 +155,7 @@ static napi_status CheckPathArray(napi_env env, napi_value agrv, uint32_t &count static napi_status GetPathPolicy(napi_env env, napi_value agrv, std::vector &pathPolicies, uint32_t i) { napi_value object; - status = napi_get_element(env, agrv, i, &object); + napi_status status = napi_get_element(env, agrv, i, &object); if (status != napi_ok) { LOGE("get element failed"); return status; -- Gitee From cb4d8fc1c0ea0bee2fad46c1b63526df8147cb6a Mon Sep 17 00:00:00 2001 From: chensihan Date: Wed, 9 Apr 2025 07:19:08 +0000 Subject: [PATCH 5/7] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chensihan --- interfaces/kits/js/file_share/grant_permissions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/kits/js/file_share/grant_permissions.cpp b/interfaces/kits/js/file_share/grant_permissions.cpp index 3c0b981a7..cabef02f7 100644 --- a/interfaces/kits/js/file_share/grant_permissions.cpp +++ b/interfaces/kits/js/file_share/grant_permissions.cpp @@ -197,7 +197,7 @@ static napi_status GetPathPoliciesArg(napi_env env, napi_value agrv, std::vector LOGE("open handle scope failed"); return status; } - status = GetPathPolicy(env, agrv, uriPolicies, i); + status = GetPathPolicy(env, agrv, pathPolicies, i); if (status != napi_ok) { napi_close_handle_scope(env, scope); return status; -- Gitee From 9b472b92c9f911748c62d3c899c2c417b5798336 Mon Sep 17 00:00:00 2001 From: chensihan Date: Thu, 10 Apr 2025 01:33:04 +0000 Subject: [PATCH 6/7] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chensihan --- interfaces/kits/js/file_share/grant_permissions.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/interfaces/kits/js/file_share/grant_permissions.cpp b/interfaces/kits/js/file_share/grant_permissions.cpp index cabef02f7..42d2ec0c4 100644 --- a/interfaces/kits/js/file_share/grant_permissions.cpp +++ b/interfaces/kits/js/file_share/grant_permissions.cpp @@ -76,10 +76,10 @@ static napi_value GetResultData(napi_env env, const vector &results) return res; } -static napi_status GetUriPolicy(napi_env env, napi_value agrv, std::vector &uriPolicies, uint32_t i) +static napi_status GetUriPolicy(napi_env env, napi_value agrv, std::vector &uriPolicies, uint32_t index) { napi_value object; - napi_status status = napi_get_element(env, agrv, i, &object); + napi_status status = napi_get_element(env, agrv, index, &object); if (status != napi_ok) { LOGE("get element failed"); return status; @@ -99,7 +99,7 @@ static napi_status GetUriPolicy(napi_env env, napi_value agrv, std::vector &pathPolicies, uint32_t i) +static napi_status GetPathPolicy(napi_env env, napi_value agrv, std::vector &pathPolicies, uint32_t index) { napi_value object; - napi_status status = napi_get_element(env, agrv, i, &object); + napi_status status = napi_get_element(env, agrv, index, &object); if (status != napi_ok) { LOGE("get element failed"); return status; @@ -175,7 +175,7 @@ static napi_status GetPathPolicy(napi_env env, napi_value agrv, std::vector Date: Thu, 10 Apr 2025 02:27:32 +0000 Subject: [PATCH 7/7] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chensihan --- interfaces/kits/js/file_share/grant_permissions.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/interfaces/kits/js/file_share/grant_permissions.cpp b/interfaces/kits/js/file_share/grant_permissions.cpp index 42d2ec0c4..18910ae63 100644 --- a/interfaces/kits/js/file_share/grant_permissions.cpp +++ b/interfaces/kits/js/file_share/grant_permissions.cpp @@ -152,7 +152,8 @@ static napi_status CheckPathArray(napi_env env, napi_value agrv, uint32_t &count return napi_ok; } -static napi_status GetPathPolicy(napi_env env, napi_value agrv, std::vector &pathPolicies, uint32_t index) +static napi_status GetPathPolicy(napi_env env, napi_value agrv, std::vector &pathPolicies, + uint32_t index) { napi_value object; napi_status status = napi_get_element(env, agrv, index, &object); -- Gitee