From: Piotr Kosko Date: Wed, 4 Nov 2015 13:04:47 +0000 (+0100) Subject: Revert "[DataControl] Privilege checks moved to JS." X-Git-Tag: submit/tizen_mobile/20151215.080542^2~19^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bcd86b89943de7af5e8d4a07e834f03fc8d5f02b;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git Revert "[DataControl] Privilege checks moved to JS." This reverts commit 69b5210ff5bbc6a303e27729e08a14c45d96f0db. This also applies changes from commit f128cf95a3fc1e639f63214e21474735a13adc77 [Verification] TCT passrate is 100% Change-Id: Ie45c83810e987c395e269499a213fc044ffd18e0 Signed-off-by: Piotr Kosko --- diff --git a/src/datacontrol/datacontrol_api.js b/src/datacontrol/datacontrol_api.js index daf78d16..d30d0f55 100755 --- a/src/datacontrol/datacontrol_api.js +++ b/src/datacontrol/datacontrol_api.js @@ -54,7 +54,7 @@ function callNative(cmd, args) { } else if (result['status'] == 'error') { var err = result['error']; if (err) { - throw new WebAPIException(err.name, err.message); + throw new WebAPIException(err); } return false; } @@ -84,10 +84,10 @@ function DataControlManager() { // constructor of DataControlManager } +var privUtils_ = xwalk.utils; -DataControlManager.prototype.getDataControlConsumer = function(providerId, dataId, type) { - xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.DATACONTROL_CONSUMER); - +var getDataControlConsumer = function(providerId, dataId, type) { + privUtils_.checkPrivilegeAccess(privUtils_.privilege.DATACONTROL_CONSUMER); var args = validator_.validateArgs(arguments, [ {'name': 'providerId', 'type': types_.STRING}, {'name': 'dataId', 'type': types_.STRING}, @@ -100,14 +100,19 @@ DataControlManager.prototype.getDataControlConsumer = function(providerId, dataI } else if (type === 'MAP') { returnObject = new MappedDataControlConsumer(); } - SetReadOnlyProperty(returnObject, 'type', type); // read only property - SetReadOnlyProperty(returnObject, 'providerId', providerId); // read only property - SetReadOnlyProperty(returnObject, 'dataId', dataId); // read only property + SetReadOnlyProperty(returnObject, 'type', args.type); // read only property + SetReadOnlyProperty(returnObject, 'providerId', args.providerId); // read only property + SetReadOnlyProperty(returnObject, 'dataId', args.dataId); // read only property return returnObject; }; +DataControlManager.prototype.getDataControlConsumer = function(providerId, dataId, type) { + return getDataControlConsumer.apply(null, arguments); +}; + + function DataControlConsumerObject() { // constructor of DataControlConsumerObject } @@ -122,8 +127,6 @@ SQLDataControlConsumer.prototype = new DataControlConsumerObject(); SQLDataControlConsumer.prototype.constructor = SQLDataControlConsumer; SQLDataControlConsumer.prototype.insert = function(reqId, insertionData) { - xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.DATACONTROL_CONSUMER); - var args = validator_.validateArgs(arguments, [ {'name': 'reqId', 'type': types_.LONG}, {'name': 'insertionData', 'type': types_.DICTIONARY}, @@ -159,8 +162,6 @@ SQLDataControlConsumer.prototype.insert = function(reqId, insertionData) { }; SQLDataControlConsumer.prototype.update = function(reqId, updateData, where) { - xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.DATACONTROL_CONSUMER); - var args = validator_.validateArgs(arguments, [ {'name': 'reqId', 'type': types_.LONG}, {'name': 'updateData', 'type': types_.DICTIONARY}, @@ -199,8 +200,6 @@ SQLDataControlConsumer.prototype.update = function(reqId, updateData, where) { }; SQLDataControlConsumer.prototype.remove = function(reqId, where) { - xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.DATACONTROL_CONSUMER); - var args = validator_.validateArgs(arguments, [ {'name': 'reqId', 'type': types_.LONG}, {'name': 'where', 'type': types_.STRING}, @@ -237,8 +236,6 @@ SQLDataControlConsumer.prototype.remove = function(reqId, where) { }; SQLDataControlConsumer.prototype.select = function(reqId, columns, where, successCallback) { - xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.DATACONTROL_CONSUMER); - var args = validator_.validateArgs(arguments, [ {'name': 'reqId', 'type': types_.LONG}, {'name': 'columns', 'type': types_.ARRAY}, @@ -292,8 +289,6 @@ MappedDataControlConsumer.prototype = new DataControlConsumerObject(); MappedDataControlConsumer.prototype.constructor = MappedDataControlConsumer; MappedDataControlConsumer.prototype.addValue = function(reqId, key, value) { - xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.DATACONTROL_CONSUMER); - var args = validator_.validateArgs(arguments, [ {'name': 'reqId', 'type': types_.LONG}, {'name': 'key', 'type': types_.STRING}, @@ -332,8 +327,6 @@ MappedDataControlConsumer.prototype.addValue = function(reqId, key, value) { }; MappedDataControlConsumer.prototype.removeValue = function(reqId, key, value, successCallback) { - xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.DATACONTROL_CONSUMER); - var args = validator_.validateArgs(arguments, [ {'name': 'reqId', 'type': types_.LONG}, {'name': 'key', 'type': types_.STRING}, @@ -370,8 +363,6 @@ MappedDataControlConsumer.prototype.removeValue = function(reqId, key, value, su }; MappedDataControlConsumer.prototype.getValue = function(reqId, key, successCallback) { - xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.DATACONTROL_CONSUMER); - var args = validator_.validateArgs(arguments, [ {'name': 'reqId', 'type': types_.LONG}, {'name': 'key', 'type': types_.STRING}, @@ -406,8 +397,6 @@ MappedDataControlConsumer.prototype.getValue = function(reqId, key, successCallb MappedDataControlConsumer.prototype.updateValue = function( reqId, key, oldValue, newValue, successCallback) { - xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.DATACONTROL_CONSUMER); - var args = validator_.validateArgs(arguments, [ {'name': 'reqId', 'type': types_.LONG}, {'name': 'key', 'type': types_.STRING}, diff --git a/src/datacontrol/datacontrol_instance.cc b/src/datacontrol/datacontrol_instance.cc index b0e34caf..ef7889dc 100755 --- a/src/datacontrol/datacontrol_instance.cc +++ b/src/datacontrol/datacontrol_instance.cc @@ -27,6 +27,7 @@ #include "common/picojson.h" #include "common/logger.h" +#include "common/tools.h" #include "common/platform_exception.h" #include "common/scope_exit.h" @@ -34,6 +35,12 @@ namespace extension { namespace datacontrol { +namespace { +// The privileges that required in Datacontrol API +const std::string kPrivilegeDatacontrol = "http://tizen.org/privilege/datacontrol.consumer"; + +} // namespace + using common::InvalidValuesException; using common::TypeMismatchException; using common::IOException; @@ -501,12 +508,15 @@ int DatacontrolInstance::RunSQLDataControlJob(const std::string& providerId, void DatacontrolInstance::DataControlManagerGetdatacontrolconsumer( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeDatacontrol, &out); + CHECK_EXIST(args, "providerId", out) CHECK_EXIST(args, "dataId", out) } void DatacontrolInstance::SQLDataControlConsumerInsert( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeDatacontrol, &out); CHECK_EXIST(args, "callbackId", out) CHECK_EXIST(args, "reqId", out) CHECK_EXIST(args, "providerId", out) @@ -584,6 +594,7 @@ void DatacontrolInstance::SQLDataControlConsumerInsert( void DatacontrolInstance::SQLDataControlConsumerUpdate( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeDatacontrol, &out); CHECK_EXIST(args, "callbackId", out) CHECK_EXIST(args, "reqId", out) CHECK_EXIST(args, "where", out) @@ -667,6 +678,7 @@ void DatacontrolInstance::SQLDataControlConsumerUpdate( void DatacontrolInstance::SQLDataControlConsumerRemove( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeDatacontrol, &out); CHECK_EXIST(args, "callbackId", out) CHECK_EXIST(args, "reqId", out) CHECK_EXIST(args, "where", out) @@ -705,6 +717,7 @@ void DatacontrolInstance::SQLDataControlConsumerRemove( void DatacontrolInstance::SQLDataControlConsumerSelect( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeDatacontrol, &out); CHECK_EXIST(args, "callbackId", out) CHECK_EXIST(args, "reqId", out) CHECK_EXIST(args, "columns", out) @@ -773,6 +786,7 @@ void DatacontrolInstance::MappedDataControlConsumerAddvalue( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeDatacontrol, &out); CHECK_EXIST(args, "callbackId", out) CHECK_EXIST(args, "reqId", out) CHECK_EXIST(args, "key", out) @@ -816,6 +830,7 @@ void DatacontrolInstance::MappedDataControlConsumerAddvalue( void DatacontrolInstance::MappedDataControlConsumerRemovevalue( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeDatacontrol, &out); CHECK_EXIST(args, "callbackId", out) CHECK_EXIST(args, "reqId", out) CHECK_EXIST(args, "key", out) @@ -858,6 +873,7 @@ void DatacontrolInstance::MappedDataControlConsumerRemovevalue( void DatacontrolInstance::MappedDataControlConsumerGetvalue( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeDatacontrol, &out); CHECK_EXIST(args, "callbackId", out) CHECK_EXIST(args, "reqId", out) CHECK_EXIST(args, "key", out) @@ -897,6 +913,7 @@ void DatacontrolInstance::MappedDataControlConsumerGetvalue( void DatacontrolInstance::MappedDataControlConsumerUpdatevalue( const picojson::value& args, picojson::object& out) { LoggerD("Enter"); + CHECK_PRIVILEGE_ACCESS(kPrivilegeDatacontrol, &out); CHECK_EXIST(args, "callbackId", out) CHECK_EXIST(args, "reqId", out) CHECK_EXIST(args, "key", out)