diff --git a/interfaces/kits/accesstoken/napi/include/napi_atmanager.h b/interfaces/kits/accesstoken/napi/include/napi_atmanager.h index 850a702fc686fd192aa4b033ca84952340c9f618..a9a0de9a73d1efafe1c926f14afc5410cba7bfb0 100644 --- a/interfaces/kits/accesstoken/napi/include/napi_atmanager.h +++ b/interfaces/kits/accesstoken/napi/include/napi_atmanager.h @@ -75,6 +75,7 @@ private: static void RevokeUserGrantedPermissionComplete(napi_env env, napi_status status, void *data); static void GetPermissionFlagsExcute(napi_env env, void *data); static void GetPermissionFlagsComplete(napi_env env, napi_status status, void *data); + static void SetNamedProperty(napi_env env, napi_value dstObj, const int32_t objValue, const char *propName); }; } // namespace AccessToken } // namespace Security diff --git a/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp b/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp index 608b3df63b035f29062906871cc8e133942de30d..672003a66f2366556a365b46f054678a0a903695 100644 --- a/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp +++ b/interfaces/kits/accesstoken/napi/src/napi_atmanager.cpp @@ -33,6 +33,13 @@ static constexpr OHOS::HiviewDFX::HiLogLabel LABEL = { }; } // namespace +void NapiAtManager::SetNamedProperty(napi_env env, napi_value dstObj, const int32_t objValue, const char *propName) +{ + napi_value prop = nullptr; + napi_create_int32(env, objValue, &prop); + napi_set_named_property(env, dstObj, propName, prop); +} + napi_value NapiAtManager::Init(napi_env env, napi_value exports) { ACCESSTOKEN_LOG_DEBUG(LABEL, "enter init."); @@ -56,6 +63,17 @@ napi_value NapiAtManager::Init(napi_env env, napi_value exports) NAPI_CALL(env, napi_create_reference(env, cons, 1, &atManagerRef_)); NAPI_CALL(env, napi_set_named_property(env, exports, ATMANAGER_CLASS_NAME.c_str(), cons)); + napi_value GrantStatus = nullptr; + napi_create_object(env, &GrantStatus); + + SetNamedProperty(env, GrantStatus, PERMISSION_DENIED, "PERMISSION_DENIED"); + SetNamedProperty(env, GrantStatus, PERMISSION_GRANTED, "PERMISSION_GRANTED"); + + napi_property_descriptor exportFuncs[] = { + DECLARE_NAPI_PROPERTY("GrantStatus", GrantStatus), + }; + napi_define_properties(env, exports, sizeof(exportFuncs) / sizeof(*exportFuncs), exportFuncs); + return exports; }