mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'master' of https://github.com/wso2/carbon-device-mgt
This commit is contained in:
commit
17127c3846
@ -139,6 +139,7 @@
|
|||||||
org.wso2.carbon.context,
|
org.wso2.carbon.context,
|
||||||
org.wso2.carbon.device.mgt.common.operation.mgt,
|
org.wso2.carbon.device.mgt.common.operation.mgt,
|
||||||
org.wso2.carbon.device.mgt.common.push.notification,
|
org.wso2.carbon.device.mgt.common.push.notification,
|
||||||
|
org.wso2.carbon.device.mgt.common,
|
||||||
org.wso2.carbon.device.mgt.core.service,
|
org.wso2.carbon.device.mgt.core.service,
|
||||||
org.wso2.carbon.event.output.adapter.core,
|
org.wso2.carbon.event.output.adapter.core,
|
||||||
org.wso2.carbon.event.output.adapter.core.exception,
|
org.wso2.carbon.event.output.adapter.core.exception,
|
||||||
|
|||||||
@ -20,6 +20,7 @@ package org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt;
|
|||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
import org.wso2.carbon.device.mgt.common.push.notification.NotificationContext;
|
import org.wso2.carbon.device.mgt.common.push.notification.NotificationContext;
|
||||||
import org.wso2.carbon.device.mgt.common.push.notification.NotificationStrategy;
|
import org.wso2.carbon.device.mgt.common.push.notification.NotificationStrategy;
|
||||||
import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig;
|
import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig;
|
||||||
@ -32,6 +33,7 @@ import org.wso2.carbon.event.output.adapter.core.exception.OutputEventAdapterExc
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
public class MQTTNotificationStrategy implements NotificationStrategy {
|
public class MQTTNotificationStrategy implements NotificationStrategy {
|
||||||
|
|
||||||
@ -75,7 +77,15 @@ public class MQTTNotificationStrategy implements NotificationStrategy {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(NotificationContext ctx) throws PushNotificationExecutionFailedException {
|
public void execute(NotificationContext ctx) throws PushNotificationExecutionFailedException {
|
||||||
Map<String, String> dynamicProperties = new HashMap<>();
|
Map<String, String> dynamicProperties = new HashMap<>();
|
||||||
dynamicProperties.put("topic", (String) ctx.getOperation().getProperties().get(MQTT_ADAPTER_TOPIC));
|
Properties properties = ctx.getOperation().getProperties();
|
||||||
|
if (properties != null && properties.get(MQTT_ADAPTER_TOPIC) != null) {
|
||||||
|
dynamicProperties.put("topic", (String) properties.get(MQTT_ADAPTER_TOPIC));
|
||||||
|
} else {
|
||||||
|
String topic = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain(true) + "/"
|
||||||
|
+ ctx.getDeviceId().getType() + "/" + ctx.getDeviceId().getId() + "/" + ctx.getOperation().getType();
|
||||||
|
dynamicProperties.put("topic", topic);
|
||||||
|
}
|
||||||
|
|
||||||
MQTTDataHolder.getInstance().getOutputEventAdapterService().publish(mqttAdapterName, dynamicProperties,
|
MQTTDataHolder.getInstance().getOutputEventAdapterService().publish(mqttAdapterName, dynamicProperties,
|
||||||
ctx.getOperation().getPayLoad());
|
ctx.getOperation().getPayLoad());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,27 +48,28 @@ if (!user) {
|
|||||||
var deviceType = request.getParameter("deviceType"); // need a better solution here
|
var deviceType = request.getParameter("deviceType"); // need a better solution here
|
||||||
deviceTypeConfig = utility.getDeviceTypeConfig(deviceType);
|
deviceTypeConfig = utility.getDeviceTypeConfig(deviceType);
|
||||||
if (deviceTypeConfig && deviceTypeConfig.deviceType.downloadAgentUri) {
|
if (deviceTypeConfig && deviceTypeConfig.deviceType.downloadAgentUri) {
|
||||||
|
hearders = [{"name": constants["ACCEPT_IDENTIFIER"], "value": constants["APPLICATION_ZIP"]}];
|
||||||
sketchDownloadEndPoint = devicemgtProps["httpsURL"] + "/" + deviceTypeConfig.deviceType.downloadAgentUri;
|
sketchDownloadEndPoint = devicemgtProps["httpsURL"] + "/" + deviceTypeConfig.deviceType.downloadAgentUri;
|
||||||
serviceInvokers.HttpClient.get(sketchDownloadEndPoint + queryString, function (responsePayload, responseHeaders) {
|
serviceInvokers.HttpClient.get(sketchDownloadEndPoint + queryString, function (responsePayload, responseHeaders) {
|
||||||
if (responseHeaders) {
|
if (responseHeaders) {
|
||||||
for (var i = 0; i < responseHeaders.length; i++) {
|
for (var i = 0; i < responseHeaders.length; i++) {
|
||||||
var header = responseHeaders[i]
|
var header = responseHeaders[i];
|
||||||
var headerName = String(header.getName());
|
var headerName = String(header.getName());
|
||||||
var headerValue = String(header.getValue());
|
var headerValue = String(header.getValue());
|
||||||
response.addHeader(headerName, headerValue);
|
response.addHeader(headerName, headerValue);
|
||||||
}
|
}
|
||||||
var streamObject = new Stream(responsePayload);
|
var streamObject = new Stream(responsePayload);
|
||||||
print(streamObject);
|
print(streamObject);
|
||||||
} else {
|
} else {
|
||||||
return responsePayload;
|
return responsePayload;
|
||||||
}
|
}
|
||||||
}, function (responsePayload) {
|
}, function (responsePayload) {
|
||||||
log.error(responsePayload)
|
log.error(responsePayload);
|
||||||
var response = {};
|
var response = {};
|
||||||
response["status"] = "error";
|
response["status"] = "error";
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
);
|
, hearders);
|
||||||
} else {
|
} else {
|
||||||
result = 400;
|
result = 400;
|
||||||
}
|
}
|
||||||
@ -143,14 +144,14 @@ if (!user) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
serviceInvokers.XMLHttp.get(
|
serviceInvokers.XMLHttp.get(
|
||||||
targetURL, function (responsePayload) {
|
targetURL, function (responsePayload) {
|
||||||
response.status = 200;
|
response.status = 200;
|
||||||
result = responsePayload;
|
result = responsePayload;
|
||||||
},
|
},
|
||||||
function (responsePayload) {
|
function (responsePayload) {
|
||||||
response.status = responsePayload.status;
|
response.status = responsePayload.status;
|
||||||
result = responsePayload.responseText;
|
result = responsePayload.responseText;
|
||||||
});
|
});
|
||||||
} else if (uriMatcher.match("/{context}/api/devices/")) {
|
} else if (uriMatcher.match("/{context}/api/devices/")) {
|
||||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/list")) {
|
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/list")) {
|
||||||
result = deviceModule.listDevices();
|
result = deviceModule.listDevices();
|
||||||
|
|||||||
@ -66,11 +66,15 @@ var invokers = function () {
|
|||||||
* @param endpoint Backend REST API url.
|
* @param endpoint Backend REST API url.
|
||||||
* @param responseCallback a function to be called with response retrieved.
|
* @param responseCallback a function to be called with response retrieved.
|
||||||
* @param count a counter which hold the number of recursive execution
|
* @param count a counter which hold the number of recursive execution
|
||||||
|
* @param headers a list of name value pairs for additional http headers
|
||||||
*/
|
*/
|
||||||
privateMethods["execute"] = function (httpMethod, requestPayload, endpoint, responseCallback, count) {
|
privateMethods["execute"] = function (httpMethod, requestPayload, endpoint, responseCallback, count, headers) {
|
||||||
var xmlHttpRequest = new XMLHttpRequest();
|
var xmlHttpRequest = new XMLHttpRequest();
|
||||||
|
|
||||||
xmlHttpRequest.open(httpMethod, endpoint);
|
xmlHttpRequest.open(httpMethod, endpoint);
|
||||||
|
for(var i in headers){
|
||||||
|
xmlHttpRequest.setRequestHeader(headers[i].name, headers[i].value);
|
||||||
|
}
|
||||||
xmlHttpRequest.setRequestHeader(constants["CONTENT_TYPE_IDENTIFIER"], constants["APPLICATION_JSON"]);
|
xmlHttpRequest.setRequestHeader(constants["CONTENT_TYPE_IDENTIFIER"], constants["APPLICATION_JSON"]);
|
||||||
xmlHttpRequest.setRequestHeader(constants["ACCEPT_IDENTIFIER"], constants["APPLICATION_JSON"]);
|
xmlHttpRequest.setRequestHeader(constants["ACCEPT_IDENTIFIER"], constants["APPLICATION_JSON"]);
|
||||||
|
|
||||||
@ -82,7 +86,7 @@ var invokers = function () {
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
xmlHttpRequest.setRequestHeader(constants["AUTHORIZATION_HEADER"],
|
xmlHttpRequest.setRequestHeader(constants["AUTHORIZATION_HEADER"],
|
||||||
constants["BEARER_PREFIX"] + accessToken);
|
constants["BEARER_PREFIX"] + accessToken);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,9 +102,9 @@ var invokers = function () {
|
|||||||
log.debug("Response payload if any : " + xmlHttpRequest.responseText);
|
log.debug("Response payload if any : " + xmlHttpRequest.responseText);
|
||||||
|
|
||||||
if (xmlHttpRequest.status == 401 && (xmlHttpRequest.responseText == TOKEN_EXPIRED ||
|
if (xmlHttpRequest.status == 401 && (xmlHttpRequest.responseText == TOKEN_EXPIRED ||
|
||||||
xmlHttpRequest.responseText == TOKEN_INVALID ) && count < 5) {
|
xmlHttpRequest.responseText == TOKEN_INVALID ) && count < 5) {
|
||||||
tokenUtil.refreshTokenPair();
|
tokenUtil.refreshTokenPair();
|
||||||
return privateMethods.execute(httpMethod, requestPayload, endpoint, responseCallback, ++count);
|
return privateMethods.execute(httpMethod, requestPayload, endpoint, responseCallback, ++count, headers);
|
||||||
} else {
|
} else {
|
||||||
return responseCallback(xmlHttpRequest);
|
return responseCallback(xmlHttpRequest);
|
||||||
}
|
}
|
||||||
@ -113,8 +117,8 @@ var invokers = function () {
|
|||||||
* @param endpoint Backend REST API url.
|
* @param endpoint Backend REST API url.
|
||||||
* @param responseCallback a function to be called with response retrieved.
|
* @param responseCallback a function to be called with response retrieved.
|
||||||
*/
|
*/
|
||||||
privateMethods["initiateXMLHTTPRequest"] = function (httpMethod, requestPayload, endpoint, responseCallback) {
|
privateMethods["initiateXMLHTTPRequest"] = function (httpMethod, requestPayload, endpoint, responseCallback, headers) {
|
||||||
return privateMethods.execute(httpMethod, requestPayload, endpoint, responseCallback, 0);
|
return privateMethods.execute(httpMethod, requestPayload, endpoint, responseCallback, 0, headers);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -122,9 +126,9 @@ var invokers = function () {
|
|||||||
* @param endpoint Backend REST API url.
|
* @param endpoint Backend REST API url.
|
||||||
* @param responseCallback a function to be called with response retrieved.
|
* @param responseCallback a function to be called with response retrieved.
|
||||||
*/
|
*/
|
||||||
publicXMLHTTPInvokers["get"] = function (endpoint, responseCallback) {
|
publicXMLHTTPInvokers["get"] = function (endpoint, responseCallback, headers) {
|
||||||
var requestPayload = null;
|
var requestPayload = null;
|
||||||
return privateMethods.initiateXMLHTTPRequest(constants["HTTP_GET"], requestPayload, endpoint, responseCallback);
|
return privateMethods.initiateXMLHTTPRequest(constants["HTTP_GET"], requestPayload, endpoint, responseCallback, headers);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -133,8 +137,8 @@ var invokers = function () {
|
|||||||
* @param requestPayload payload/data if exists which is needed to be send.
|
* @param requestPayload payload/data if exists which is needed to be send.
|
||||||
* @param responseCallback a function to be called with response retrieved.
|
* @param responseCallback a function to be called with response retrieved.
|
||||||
*/
|
*/
|
||||||
publicXMLHTTPInvokers["post"] = function (endpoint, requestPayload, responseCallback) {
|
publicXMLHTTPInvokers["post"] = function (endpoint, requestPayload, responseCallback, headers) {
|
||||||
return privateMethods.initiateXMLHTTPRequest(constants["HTTP_POST"], requestPayload, endpoint, responseCallback);
|
return privateMethods.initiateXMLHTTPRequest(constants["HTTP_POST"], requestPayload, endpoint, responseCallback, headers);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -143,8 +147,8 @@ var invokers = function () {
|
|||||||
* @param requestPayload payload/data if exists which is needed to be send.
|
* @param requestPayload payload/data if exists which is needed to be send.
|
||||||
* @param responseCallback a function to be called with response retrieved.
|
* @param responseCallback a function to be called with response retrieved.
|
||||||
*/
|
*/
|
||||||
publicXMLHTTPInvokers["put"] = function (endpoint, requestPayload, responseCallback) {
|
publicXMLHTTPInvokers["put"] = function (endpoint, requestPayload, responseCallback, headers) {
|
||||||
return privateMethods.initiateXMLHTTPRequest(constants["HTTP_PUT"], requestPayload, endpoint, responseCallback);
|
return privateMethods.initiateXMLHTTPRequest(constants["HTTP_PUT"], requestPayload, endpoint, responseCallback, headers);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -152,9 +156,9 @@ var invokers = function () {
|
|||||||
* @param endpoint Backend REST API url.
|
* @param endpoint Backend REST API url.
|
||||||
* @param responseCallback a function to be called with response retrieved.
|
* @param responseCallback a function to be called with response retrieved.
|
||||||
*/
|
*/
|
||||||
publicXMLHTTPInvokers["delete"] = function (endpoint, responseCallback) {
|
publicXMLHTTPInvokers["delete"] = function (endpoint, responseCallback, headers) {
|
||||||
var requestPayload = null;
|
var requestPayload = null;
|
||||||
return privateMethods.initiateXMLHTTPRequest(constants["HTTP_DELETE"], requestPayload, endpoint, responseCallback);
|
return privateMethods.initiateXMLHTTPRequest(constants["HTTP_DELETE"], requestPayload, endpoint, responseCallback, headers);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -239,8 +243,9 @@ var invokers = function () {
|
|||||||
* @param payload payload/data which need to be send.
|
* @param payload payload/data which need to be send.
|
||||||
* @param successCallback a function to be called if the respond if successful.
|
* @param successCallback a function to be called if the respond if successful.
|
||||||
* @param errorCallback a function to be called if en error is reserved.
|
* @param errorCallback a function to be called if en error is reserved.
|
||||||
|
* @param headers a list of name value pairs for additional http headers.
|
||||||
*/
|
*/
|
||||||
privateMethods["initiateHTTPClientRequest"] = function (method, url, successCallback, errorCallback, payload) {
|
privateMethods["initiateHTTPClientRequest"] = function (method, url, successCallback, errorCallback, payload, headers) {
|
||||||
//noinspection JSUnresolvedVariable
|
//noinspection JSUnresolvedVariable
|
||||||
var HttpClient = Packages.org.apache.commons.httpclient.HttpClient;
|
var HttpClient = Packages.org.apache.commons.httpclient.HttpClient;
|
||||||
var httpMethodObject;
|
var httpMethodObject;
|
||||||
@ -269,8 +274,16 @@ var invokers = function () {
|
|||||||
//noinspection JSUnresolvedFunction
|
//noinspection JSUnresolvedFunction
|
||||||
throw new IllegalArgumentException("Invalid HTTP request method: " + method);
|
throw new IllegalArgumentException("Invalid HTTP request method: " + method);
|
||||||
}
|
}
|
||||||
|
|
||||||
//noinspection JSUnresolvedVariable
|
//noinspection JSUnresolvedVariable
|
||||||
var Header = Packages.org.apache.commons.httpclient.Header;
|
var Header = Packages.org.apache.commons.httpclient.Header;
|
||||||
|
for(var i in headers){
|
||||||
|
var header = new Header();
|
||||||
|
header.setName(headers[i].name);
|
||||||
|
header.setValue(headers[i].value);
|
||||||
|
httpMethodObject.addRequestHeader(header);
|
||||||
|
}
|
||||||
|
|
||||||
var header = new Header();
|
var header = new Header();
|
||||||
header.setName(constants["CONTENT_TYPE_IDENTIFIER"]);
|
header.setName(constants["CONTENT_TYPE_IDENTIFIER"]);
|
||||||
header.setValue(constants["APPLICATION_JSON"]);
|
header.setValue(constants["APPLICATION_JSON"]);
|
||||||
@ -295,9 +308,12 @@ var invokers = function () {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//noinspection JSUnresolvedFunction
|
//noinspection JSUnresolvedFunction
|
||||||
var stringRequestEntity = new StringRequestEntity(stringify(payload));
|
if (payload != null) {
|
||||||
//noinspection JSUnresolvedFunction
|
var StringRequestEntity = Packages.org.apache.commons.httpclient.methods.StringRequestEntity;
|
||||||
httpMethodObject.setRequestEntity(stringRequestEntity);
|
var stringRequestEntity = new StringRequestEntity(stringify(payload));
|
||||||
|
//noinspection JSUnresolvedFunction
|
||||||
|
httpMethodObject.setRequestEntity(stringRequestEntity);
|
||||||
|
}
|
||||||
var client = new HttpClient();
|
var client = new HttpClient();
|
||||||
try {
|
try {
|
||||||
//noinspection JSUnresolvedFunction
|
//noinspection JSUnresolvedFunction
|
||||||
@ -305,17 +321,22 @@ var invokers = function () {
|
|||||||
//noinspection JSUnresolvedFunction
|
//noinspection JSUnresolvedFunction
|
||||||
var status = httpMethodObject.getStatusCode();
|
var status = httpMethodObject.getStatusCode();
|
||||||
if (status == 200) {
|
if (status == 200) {
|
||||||
//noinspection JSUnresolvedFunction
|
var responseContentDispositionHeader = httpMethodObject.getResponseHeader(constants["CONTENT_DISPOSITION_IDENTIFIER"]);
|
||||||
return successCallback(httpMethodObject.getResponseBody());
|
if (responseContentDispositionHeader) {
|
||||||
|
return successCallback(httpMethodObject.getResponseBodyAsStream(), httpMethodObject.getResponseHeaders());
|
||||||
|
} else {
|
||||||
|
return successCallback(httpMethodObject.getResponseBody());
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
//noinspection JSUnresolvedFunction
|
|
||||||
return errorCallback(httpMethodObject.getResponseBody());
|
return errorCallback(httpMethodObject.getResponseBody());
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return errorCallback(response);
|
return errorCallback(response);
|
||||||
} finally {
|
} finally {
|
||||||
//noinspection JSUnresolvedFunction
|
//noinspection JSUnresolvedFunction
|
||||||
method.releaseConnection();
|
if (method != constants["HTTP_GET"]) {
|
||||||
|
method.releaseConnection();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -324,11 +345,12 @@ var invokers = function () {
|
|||||||
* @param url target url.
|
* @param url target url.
|
||||||
* @param successCallback a function to be called if the respond if successful.
|
* @param successCallback a function to be called if the respond if successful.
|
||||||
* @param errorCallback a function to be called if en error is reserved.
|
* @param errorCallback a function to be called if en error is reserved.
|
||||||
|
* @param headers a list of name value pairs for additional http headers.
|
||||||
*/
|
*/
|
||||||
publicHTTPClientInvokers["get"] = function (url, successCallback, errorCallback) {
|
publicHTTPClientInvokers["get"] = function (url, successCallback, errorCallback, headers) {
|
||||||
var requestPayload = null;
|
var requestPayload = null;
|
||||||
return privateMethods.
|
return privateMethods.
|
||||||
initiateHTTPClientRequest(constants["HTTP_GET"], url, successCallback, errorCallback, requestPayload);
|
initiateHTTPClientRequest(constants["HTTP_GET"], url, successCallback, errorCallback, requestPayload, headers);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -337,10 +359,11 @@ var invokers = function () {
|
|||||||
* @param payload payload/data which need to be send.
|
* @param payload payload/data which need to be send.
|
||||||
* @param successCallback a function to be called if the respond if successful.
|
* @param successCallback a function to be called if the respond if successful.
|
||||||
* @param errorCallback a function to be called if en error is reserved.
|
* @param errorCallback a function to be called if en error is reserved.
|
||||||
|
* @param headers a list of name value pairs for additional http headers.
|
||||||
*/
|
*/
|
||||||
publicHTTPClientInvokers["post"] = function (url, payload, successCallback, errorCallback) {
|
publicHTTPClientInvokers["post"] = function (url, payload, successCallback, errorCallback, headers) {
|
||||||
return privateMethods.
|
return privateMethods.
|
||||||
initiateHTTPClientRequest(constants["HTTP_POST"], url, successCallback, errorCallback, payload);
|
initiateHTTPClientRequest(constants["HTTP_POST"], url, successCallback, errorCallback, payload, headers);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -349,10 +372,11 @@ var invokers = function () {
|
|||||||
* @param payload payload/data which need to be send.
|
* @param payload payload/data which need to be send.
|
||||||
* @param successCallback a function to be called if the respond if successful.
|
* @param successCallback a function to be called if the respond if successful.
|
||||||
* @param errorCallback a function to be called if en error is reserved.
|
* @param errorCallback a function to be called if en error is reserved.
|
||||||
|
* @param headers a list of name value pairs for additional http headers.
|
||||||
*/
|
*/
|
||||||
publicHTTPClientInvokers["put"] = function (url, payload, successCallback, errorCallback) {
|
publicHTTPClientInvokers["put"] = function (url, payload, successCallback, errorCallback, headers) {
|
||||||
return privateMethods.
|
return privateMethods.
|
||||||
initiateHTTPClientRequest(constants["HTTP_PUT"], url, successCallback, errorCallback, payload);
|
initiateHTTPClientRequest(constants["HTTP_PUT"], url, successCallback, errorCallback, payload, headers);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -360,11 +384,12 @@ var invokers = function () {
|
|||||||
* @param url target url.
|
* @param url target url.
|
||||||
* @param successCallback a function to be called if the respond if successful.
|
* @param successCallback a function to be called if the respond if successful.
|
||||||
* @param errorCallback a function to be called if en error is reserved.
|
* @param errorCallback a function to be called if en error is reserved.
|
||||||
|
* @param headers a list of name value pairs for additional http headers.
|
||||||
*/
|
*/
|
||||||
publicHTTPClientInvokers["delete"] = function (url, successCallback, errorCallback) {
|
publicHTTPClientInvokers["delete"] = function (url, successCallback, errorCallback, headers) {
|
||||||
var requestPayload = null;
|
var requestPayload = null;
|
||||||
return privateMethods.
|
return privateMethods.
|
||||||
initiateHTTPClientRequest(constants["HTTP_DELETE"], url, successCallback, errorCallback, requestPayload);
|
initiateHTTPClientRequest(constants["HTTP_DELETE"], url, successCallback, errorCallback, requestPayload, headers);
|
||||||
};
|
};
|
||||||
|
|
||||||
var publicMethods = {};
|
var publicMethods = {};
|
||||||
|
|||||||
@ -24,22 +24,22 @@ function onRequest(context) {
|
|||||||
var groupName = request.getParameter("groupName");
|
var groupName = request.getParameter("groupName");
|
||||||
var groupOwner = request.getParameter("groupOwner");
|
var groupOwner = request.getParameter("groupOwner");
|
||||||
|
|
||||||
var page = {};
|
var viewModel = {};
|
||||||
var title = "Devices";
|
var title = "Devices";
|
||||||
if (groupName) {
|
if (groupName) {
|
||||||
title = groupName + " " + title;
|
title = groupName + " " + title;
|
||||||
page.groupName = groupName;
|
viewModel.groupName = groupName;
|
||||||
}
|
}
|
||||||
page.title = title;
|
viewModel.title = title;
|
||||||
var currentUser = session.get(constants.USER_SESSION_KEY);
|
var currentUser = session.get(constants.USER_SESSION_KEY);
|
||||||
if (currentUser) {
|
if (currentUser) {
|
||||||
page.permissions = {};
|
viewModel.permissions = {};
|
||||||
var uiPermissions = userModule.getUIPermissions();
|
var uiPermissions = userModule.getUIPermissions();
|
||||||
page.permissions.list = stringify(uiPermissions);
|
viewModel.permissions.list = stringify(uiPermissions);
|
||||||
if (uiPermissions.ADD_DEVICE) {
|
if (uiPermissions.ADD_DEVICE) {
|
||||||
page.permissions.enroll = true;
|
viewModel.permissions.enroll = true;
|
||||||
}
|
}
|
||||||
page.currentUser = currentUser;
|
viewModel.currentUser = currentUser;
|
||||||
var deviceCount = 0;
|
var deviceCount = 0;
|
||||||
if (groupName && groupOwner) {
|
if (groupName && groupOwner) {
|
||||||
var groupModule = require("/app/modules/business-controllers/group.js")["groupModule"];
|
var groupModule = require("/app/modules/business-controllers/group.js")["groupModule"];
|
||||||
@ -48,30 +48,30 @@ function onRequest(context) {
|
|||||||
deviceCount = deviceModule.getDevicesCount();
|
deviceCount = deviceModule.getDevicesCount();
|
||||||
}
|
}
|
||||||
if (deviceCount > 0) {
|
if (deviceCount > 0) {
|
||||||
page.deviceCount = deviceCount;
|
viewModel.deviceCount = deviceCount;
|
||||||
var utility = require("/app/modules/utility.js").utility;
|
var utility = require("/app/modules/utility.js").utility;
|
||||||
var typesListResponse = deviceModule.getDeviceTypes();
|
var typesListResponse = deviceModule.getDeviceTypes();
|
||||||
var deviceTypes = [];
|
var deviceTypes = [];
|
||||||
if (typesListResponse["status"] == "success") {
|
if (typesListResponse["status"] == "success") {
|
||||||
var data = typesListResponse["content"];
|
var data = typesListResponse.content.deviceTypes;
|
||||||
if (data) {
|
if (data) {
|
||||||
for (var i = 0; i < data.length; i++) {
|
for (var i = 0; i < data.length; i++) {
|
||||||
var config = utility.getDeviceTypeConfig(data[i].name);
|
var config = utility.getDeviceTypeConfig(data[i]);
|
||||||
if (!config) {
|
if (!config) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
var deviceType = config.deviceType;
|
var deviceType = config.deviceType;
|
||||||
deviceTypes.push({
|
deviceTypes.push({
|
||||||
"type": data[i].name,
|
"type": data[i],
|
||||||
"category": deviceType.category,
|
"category": deviceType.category,
|
||||||
"label": deviceType.label,
|
"label": deviceType.label,
|
||||||
"thumb": utility.getDeviceThumb(data[i].name)
|
"thumb": utility.getDeviceThumb(data[i])
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
page.deviceTypes = stringify(deviceTypes);
|
viewModel.deviceTypes = stringify(deviceTypes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return page;
|
return viewModel;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user