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)