|
|
@ -25,6 +25,8 @@ var constants = require("/app/modules/constants.js");
|
|
|
|
var deviceModule = require("/app/modules/device.js").deviceModule;
|
|
|
|
var deviceModule = require("/app/modules/device.js").deviceModule;
|
|
|
|
var utility = require("/app/modules/utility.js").utility;
|
|
|
|
var utility = require("/app/modules/utility.js").utility;
|
|
|
|
var devicemgtProps = require('/app/conf/devicemgt-props.js').config();
|
|
|
|
var devicemgtProps = require('/app/conf/devicemgt-props.js').config();
|
|
|
|
|
|
|
|
var userModule = require("/app/modules/user.js").userModule;
|
|
|
|
|
|
|
|
var serviceInvokers = require("/app/modules/backend-service-invoker.js").backendServiceInvoker;
|
|
|
|
|
|
|
|
|
|
|
|
var CarbonUtils = Packages.org.wso2.carbon.utils.CarbonUtils;
|
|
|
|
var CarbonUtils = Packages.org.wso2.carbon.utils.CarbonUtils;
|
|
|
|
var user = session.get(constants.USER_SESSION_KEY);
|
|
|
|
var user = session.get(constants.USER_SESSION_KEY);
|
|
|
@ -159,6 +161,88 @@ if (!user) {
|
|
|
|
var deviceType = elements.deviceType;
|
|
|
|
var deviceType = elements.deviceType;
|
|
|
|
var deviceName = request.getParameter("name");
|
|
|
|
var deviceName = request.getParameter("name");
|
|
|
|
result = deviceModule.updateDevice(deviceType, deviceId, deviceName);
|
|
|
|
result = deviceModule.updateDevice(deviceType, deviceId, deviceName);
|
|
|
|
|
|
|
|
} else if (uriMatcher.match("/{context}/api/devices")) {
|
|
|
|
|
|
|
|
var url = request.getParameter("url");
|
|
|
|
|
|
|
|
var draw = request.getParameter("draw");
|
|
|
|
|
|
|
|
var length = request.getParameter("length");
|
|
|
|
|
|
|
|
var start = request.getParameter("start");
|
|
|
|
|
|
|
|
var search = request.getParameter("search[value]");
|
|
|
|
|
|
|
|
var deviceName = request.getParameter("columns[1][search][value]");
|
|
|
|
|
|
|
|
var owner = request.getParameter("columns[2][search][value]");
|
|
|
|
|
|
|
|
var status = request.getParameter("columns[3][search][value]");
|
|
|
|
|
|
|
|
var platform = request.getParameter("columns[4][search][value]");
|
|
|
|
|
|
|
|
var ownership = request.getParameter("columns[5][search][value]");
|
|
|
|
|
|
|
|
var targetURL;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function appendQueryParam (url, queryParam , value) {
|
|
|
|
|
|
|
|
if (url.indexOf("?") > 0) {
|
|
|
|
|
|
|
|
return url + "&" + queryParam + "=" + value;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return url + "?" + queryParam + "=" + value;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
targetURL = devicemgtProps.httpsURL + request.getParameter("url");
|
|
|
|
|
|
|
|
targetURL = appendQueryParam(targetURL, "draw", draw);
|
|
|
|
|
|
|
|
targetURL = appendQueryParam(targetURL, "start", start);
|
|
|
|
|
|
|
|
targetURL = appendQueryParam(targetURL, "length", length);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (search && search !== "") {
|
|
|
|
|
|
|
|
targetURL = appendQueryParam(targetURL, "search", search);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (deviceName && deviceName !== "") {
|
|
|
|
|
|
|
|
targetURL = appendQueryParam(targetURL, "device-name", deviceName);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (owner && owner !== "") {
|
|
|
|
|
|
|
|
targetURL = appendQueryParam(targetURL, "user", owner);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (status && status !== "") {
|
|
|
|
|
|
|
|
targetURL = appendQueryParam(targetURL, "status", status);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (platform && platform !== "") {
|
|
|
|
|
|
|
|
targetURL = appendQueryParam(targetURL, "type", platform);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (ownership && ownership !== "") {
|
|
|
|
|
|
|
|
targetURL = appendQueryParam(targetURL, "ownership", ownership);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
serviceInvokers.XMLHttp.get(
|
|
|
|
|
|
|
|
targetURL, function (responsePayload) {
|
|
|
|
|
|
|
|
response.status = 200;
|
|
|
|
|
|
|
|
result = responsePayload;
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
function (responsePayload) {
|
|
|
|
|
|
|
|
response.status = responsePayload.status;
|
|
|
|
|
|
|
|
result = responsePayload.responseText;
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
} else if (uriMatcher.match("/{context}/api/devices/")) {
|
|
|
|
|
|
|
|
if (userModule.isAuthorized("/permission/admin/device-mgt/admin/devices/list")) {
|
|
|
|
|
|
|
|
result = deviceModule.listDevices();
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
response.sendError(403);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else if (uriMatcher.match("/{context}/api/devices/{type}/{deviceId}")) {
|
|
|
|
|
|
|
|
elements = uriMatcher.elements();
|
|
|
|
|
|
|
|
deviceId = elements.deviceId;
|
|
|
|
|
|
|
|
type = elements.type;
|
|
|
|
|
|
|
|
if (userModule.isAuthorized("/permission/admin/device-mgt/admin/devices/list")) {
|
|
|
|
|
|
|
|
result = deviceModule.viewDevice(type, deviceId);
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
response.sendError(403);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else if (uriMatcher.match("{context}/api/devices/{type}/{deviceId}/{operation}")) {
|
|
|
|
|
|
|
|
elements = uriMatcher.elements();
|
|
|
|
|
|
|
|
deviceId = elements.deviceId;
|
|
|
|
|
|
|
|
type = elements.type;
|
|
|
|
|
|
|
|
operation = elements.operation;
|
|
|
|
|
|
|
|
if (userModule.isAuthorized("/permission/admin/device-mgt/admin/devices/operation")) {
|
|
|
|
|
|
|
|
result = deviceModule.performOperation(deviceId, operation, [], type);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
response.sendError(403);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|