コード例 #1
0
ファイル: Authentication.py プロジェクト: yuanyi-thu/AIOT-
class Authentication(object):
    log = Log()
    log.setLogConfig()

    def getAuthToken(self, clientInfo):
        authUrl = RestConstant.BASE_URL + clientInfo[
            'platformIp'] + ":" + clientInfo[
                'platformPort'] + RestConstant.APP_AUTH
        headers = {'Content-Type': 'application/x-www-form-urlencoded'}
        payload = {
            'appId': clientInfo['appId'],
            'secret': clientInfo['secret']
        }
        logging.info(clientInfo), logging.info(authUrl), logging.info(
            headers), logging.info(payload)
        return NorthApiClient.invokeAPI2(RestConstant.HTTPPOST, authUrl,
                                         headers, payload)

    def refreshAuthToken(self, arInDTO):
        arInDTO = DictUtil.dto2dict(arInDTO)
        authUrl = RestConstant.REFRESH_TOKEN
        payload = json.dumps(arInDTO)
        logging.info(arInDTO), logging.info(payload)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPOST, authUrl,
                                        payload, None)
コード例 #2
0
class BatchProcess(object):
    log = Log()
    log.setLogConfig()

    def createBatchTask(self, btcInDTO, accessToken):
        btcInDTO = DictUtil.dto2dict(btcInDTO)
        authUrl = RestConstant.CREATE_BATCH_TASK
        payload = json.dumps(btcInDTO)
        logging.info(btcInDTO), logging.info(accessToken), logging.info(
            payload)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPOST, authUrl,
                                        payload, accessToken)

    def queryOneTask(self, taskId, select, appId, accessToken):
        authUrl = RestConstant.CREATE_BATCH_TASK + taskId + "?"
        if appId != None:
            authUrl += "appId=" + appId
        if select != None:
            authUrl += "&select=" + select
        logging.info(taskId), logging.info(select), logging.info(
            appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)

    def queryTaskDetails(self, qtdInDTO, accessToken):
        qtdInDTO = DictUtil.dto2dict(qtdInDTO)
        authUrl = RestConstant.QUERYTASKDETAILS + str(qtdInDTO['taskId'])
        for key in qtdInDTO.keys():
            if key == 'taskId':
                authUrl = authUrl
            elif qtdInDTO[key] != None:
                authUrl += "&" + key + "=" + qtdInDTO[key]
        logging.info(qtdInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)
コード例 #3
0
class SubscriptionManagement(object):
    log = Log()
    log.setLogConfig()

    def subDeviceBusinessData(self, sdbdInDTO, accessToken):
        sdbdInDTO = DictUtil.dto2dict(sdbdInDTO)
        authUrl = RestConstant.SUB_DEVICE_BUSINESS_DATA
        if sdbdInDTO['ownerFlag'] != None:
            authUrl += "?ownerFlag=" + sdbdInDTO['ownerFlag']
        payload = json.dumps(sdbdInDTO)
        logging.info(sdbdInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPOST, authUrl,
                                        payload, accessToken)

    def subDeviceManagementData(self, sdmdInDTO, accessToken):
        sdmdInDTO = DictUtil.dto2dict(sdmdInDTO)
        authUrl = RestConstant.SUB_DEVICE_MANAGEMENT_DATA
        payload = json.dumps(sdmdInDTO)
        logging.info(sdmdInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPOST, authUrl,
                                        payload, accessToken)

    def querySingleSubscription(self, subscriptionId, appId, accessToken):
        authUrl = RestConstant.QUERY_SINGLE_SUB_SCRIPTION + subscriptionId
        if appId != None:
            authUrl += "?appId=" + appId
        logging.info(subscriptionId), logging.info(appId), logging.info(
            accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)

    def queryBatchSubscriptions(self, qbsInDTO, accessToken):
        qbsInDTO = DictUtil.dto2dict(qbsInDTO)
        authUrl = RestConstant.QUERY_BATCH_SUB_SCRIPTIONS
        for key in qbsInDTO.keys():
            if qbsInDTO[key] != None:
                authUrl += "&" + key + "=" + qbsInDTO[key]
        logging.info(qbsInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)

    def deleteSingleSubscription(self, subscriptionId, appId, accessToken):
        authUrl = RestConstant.DELETE_SINGLE_SUB_SCRIPTION + subscriptionId
        if appId != None:
            authUrl += "?appId=" + appId
        logging.info(subscriptionId), logging.info(appId), logging.info(
            accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPDELETE, authUrl, None,
                                        accessToken)

    def deleteBatchSubscriptions(self, dbsInDTO, accessToken):
        dbsInDTO = DictUtil.dto2dict(dbsInDTO)
        authUrl = RestConstant.DELETE_BATCH_SUB_SCRIPTIONS
        for key in dbsInDTO.keys():
            if dbsInDTO[key] != None:
                authUrl += "&" + key + "=" + dbsInDTO[key]
        logging.info(dbsInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPDELETE, authUrl, None,
                                        accessToken)
コード例 #4
0
class SignalDelivery(object):
    log = Log()
    log.setLogConfig()

    def postDeviceCommand(self, pdcInDTO, appId, accessToken):
        pdcInDTO = DictUtil.dto2dict(pdcInDTO)
        authUrl = RestConstant.POST_DEVICE_COMMAND
        if appId != None:
            authUrl += "?appId=" + appId
        payload = json.dumps(pdcInDTO)
        logging.info(pdcInDTO), logging.info(appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPOST, authUrl,
                                        payload, accessToken)

    def queryDeviceCommand(self, qdcInDTO, accessToken):
        qdcInDTO = DictUtil.dto2dict(qdcInDTO)
        authUrl = RestConstant.QUERY_DEVICE_COMMAND
        for key in qdcInDTO.keys():
            if qdcInDTO[key] != None:
                authUrl += "&" + key + "=" + qdcInDTO[key]
        logging.info(qdcInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)

    def updateDeviceCommand(self, udcInDTO, deviceCommandId, appId,
                            accessToken):
        udcInDTO = DictUtil.dto2dict(udcInDTO)
        authUrl = RestConstant.UPDATE_DEVICE_COMMAND + deviceCommandId
        if appId != None:
            authUrl += "?appId=" + appId
        payload = json.dumps(udcInDTO)
        logging.info(udcInDTO), logging.info(deviceCommandId), logging.info(
            appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPUT, authUrl, payload,
                                        accessToken)

    def createDeviceCmdCancelTask(self, cdcctInDTO, appId, accessToken):
        cdcctInDTO = DictUtil.dto2dict(cdcctInDTO)
        authUrl = RestConstant.CREATE_DEVICE_CMD_CANCEL_TASK
        if appId != None:
            authUrl += "?appId=" + appId
        payload = json.dumps(cdcctInDTO)
        logging.info(cdcctInDTO), logging.info(appId), logging.info(
            accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPOST, authUrl,
                                        payload, accessToken)

    def queryDeviceCmdCancelTask(self, qdcctInDTO, accessToken):
        qdcctInDTO = DictUtil.dto2dict(qdcctInDTO)
        authUrl = RestConstant.QUERY_DEVICE_CMD_CANCEL_TASK
        for key in qdcctInDTO.keys():
            if qdcctInDTO[key] != None:
                authUrl += "&" + key + "=" + qdcctInDTO[key]
        logging.info(qdcctInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)
コード例 #5
0
class DeviceServiceInvocation(object):
    log = Log()
    log.setLogConfig()

    def invokeDeviceService(self, commandDTO, deviceId, serviceId, appId, accessToken):
        commandDTO = DictUtil.dto2dict(commandDTO)
        authUrl = RestConstant.INVOKE_DEVICE_SERVICE + deviceId + "/services/" + serviceId + "/sendCommand"
        if appId != None:
            authUrl += "?appId=" + appId

        payload = json.dumps(commandDTO)
        logging.info(commandDTO), logging.info(deviceId), logging.info(appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPOST, authUrl, payload, accessToken)
コード例 #6
0
ファイル: DataCollection.py プロジェクト: yuanyi-thu/AIOT-
class DataCollection(object):
    log = Log()
    log.setLogConfig()

    def querySingleDeviceInfo(self, deviceId, select, appId, accessToken):
        authUrl = RestConstant.QUERY_SINGLE_DEVICE_INFO + deviceId + "?"
        if appId != None:
            authUrl += "appId=" + appId
        if select != None:
            authUrl += "&select=" + select
        logging.info(deviceId), logging.info(select), logging.info(appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None, accessToken)

    def queryBatchDevicesInfo(self, qbdiInDTO, accessToken):
        qbdiInDTO = DictUtil.dto2dict(qbdiInDTO)
        authUrl = RestConstant.QUERY_BATCH_DEVICES_INFO
        for key in qbdiInDTO.keys():
            if qbdiInDTO[key] != None:
                authUrl += "&" + key + "=" + qbdiInDTO[key]
        logging.info(qbdiInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None, accessToken)
		
	def queryDeviceDataHistory(self, qddhInDTO, accessToken):
        authUrl = "/iocm/app/data/v1.2.0/deviceDataHistory"
        payload = DictUtil.dto2dict(qddhInDTO)
		logging.info(qddhInDTO), logging.info(accessToken), logging.info(payload)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, payload, accessToken)

    def queryDeviceDesiredHistory(self, qddhInDTO, accessToken):
        qddhInDTO = DictUtil.dto2dict(qddhInDTO)
        authUrl = RestConstant.QUERY_DEVICE_DESIRED_HISTORY + qddhInDTO['deviceId'] + "&gatewayId=" + qddhInDTO[
            'gatewayId']
        for key in qddhInDTO.keys():
            if qddhInDTO[key] != None:
                authUrl += "&" + key + "=" + qddhInDTO[key]
        logging.info(qddhInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None, accessToken)

    def queryDeviceCapabilities(self, qdcInDTO, accessToken):
        qdcInDTO = DictUtil.dto2dict(qdcInDTO)
        authUrl = RestConstant.QUERY_DEVICE_CAPABILITIES
        for key in qdcInDTO.keys():
            if qdcInDTO[key] != None:
                authUrl += "&" + key + "=" + qdcInDTO[key]
        logging.info(qdcInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None, accessToken)
コード例 #7
0
def receive():
    log = Log()
    log.setLogConfig()

    pmr = PushMessageReceiver()
    try:
        if request.json['notifyType'] == "deviceAdded":
            logging.info(request.json)
            pmr.handleDeviceAdded()
            return "ok"

        if request.json['notifyType'] == "bindDevice":
            logging.info(request.json)
            pmr.handleBindDevice()
            return "ok"

        if request.json['notifyType'] == "deviceInfoChanged":
            logging.info(request.json)
            pmr.handleDeviceInfoChanged()
            return "ok"

        if request.json['notifyType'] == "deviceDataChanged":
            logging.info(request.json)
            pmr.handleDeviceDataChanged()
            return "ok"

        if request.json['notifyType'] == "deviceDatasChanged":
            logging.info(request.json)
            pmr.handleDeviceDatasChanged()
            return "ok"

        if request.json['notifyType'] == "serviceInfoChanged":
            logging.info(request.json)
            pmr.handleServiceInfoChanged()
            return "ok"

        if request.json['notifyType'] == "deviceDeleted":
            logging.info(request.json)
            pmr.handleDeviceDeleted()
            return "ok"

        if request.json['notifyType'] == "messageConfirm":
            logging.info(request.json)
            pmr.handleMessageConfirm()
            return "ok"

        if request.json['notifyType'] == "commandRsp":
            logging.info(request.json)
            pmr.handleCommandRsp()
            return "ok"

        if request.json['notifyType'] == "deviceEvent":
            logging.info(request.json)
            pmr.handleDeviceEvent()
            return "ok"

        if request.json['notifyType'] == "deviceModelAdded":
            logging.info(request.json)
            pmr.handleDeviceModelAdded()
            return "ok"

        if request.json['notifyType'] == "deviceModelDeleted":
            logging.info(request.json)
            pmr.handleDeviceDeleted()
            return "ok"

        if request.json['notifyType'] == "ruleEvent":
            logging.info(request.json)
            pmr.handleRuleEvent()
            return "ok"

        if request.json[
                'notifyType'] == "deviceDesiredPropertiesModifyStatusChanged":
            logging.info(request.json)
            pmr.handleDeviceDesiredStatusChanged()
            return "ok"

        if request.json['notifyType'] == "swUpgradeStateChangeNotify":
            logging.info(request.json)
            pmr.handleSwUpgradeStateChanged()
            return "ok"

        if request.json['notifyType'] == "swUpgradeResultNotify":
            logging.info(request.json)
            pmr.handleSwUpgradeResult()
            return "ok"

        if request.json['notifyType'] == "fwUpgradeStateChangeNotify":
            logging.info(request.json)
            pmr.handleFwUpgradeStateChanged()
            return "ok"

        if request.json['notifyType'] == "fwUpgradeResultNotify":
            logging.info(request.json)
            pmr.handleFwUpgradeResult()
            return "ok"
        else:
            return "notifyType doesn't exist or notifyType is not right."
    except RequestException as e:
        logging.error(e)
        raise RequestException(e)
コード例 #8
0
ファイル: DeviceUpgrade.py プロジェクト: yuanyi-thu/AIOT-
class DeviceUpgrade(object):
    log = Log()
    log.setLogConfig()

    def queryUpgradePackageList(self, quplInDTO, accessToken):
        quplInDTO = DictUtil.dto2dict(quplInDTO)
        authUrl = RestConstant.QUERY_UPGRADE_PACKAGE_LIST
        for key in quplInDTO.keys():
            if quplInDTO[key] != None:
                authUrl += "&" + key + "=" + quplInDTO[key]
        logging.info(quplInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)

    def queryUpgradePackage(self, fileId, accessToken):
        authUrl = RestConstant.QUERY_UPGRADE_PACKAGE + fileId
        logging.info(fileId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)

    def deleteUpgradePackage(self, fileId, accessToken):
        authUrl = RestConstant.DELETE_UPGRADE_PACKAGE + fileId
        logging.info(fileId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPDELETE, authUrl, None,
                                        accessToken)

    def createSoftwareUpgradeTask(self, cutInDTO, accessToken):
        cutInDTO = DictUtil.dto2dict(cutInDTO)
        authUrl = RestConstant.CREATE_SOFTWARE_UPGRADE_TASK
        payload = json.dumps(cutInDTO)
        logging.info(cutInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPOST, authUrl,
                                        payload, accessToken)

    def createFirmwareUpgradeTask(self, cutInDTO, accessToken):
        cutInDTO = DictUtil.dto2dict(cutInDTO)
        authUrl = RestConstant.CREATE_FIRMWARE_UPGRADE_TASK
        payload = json.dumps(cutInDTO)
        logging.info(cutInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPOST, authUrl,
                                        payload, accessToken)

    def queryUpgradeTask(self, operationId, accessToken):
        authUrl = RestConstant.QUERY_UPGRADE_TASK + operationId
        logging.info(operationId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)

    def queryUpgradeSubTask(self, qustInDTO, operationId, accessToken):
        qustInDTO = DictUtil.dto2dict(qustInDTO)
        authUrl = RestConstant.QUERY_UPGRADE_SUB_TASK + operationId + "/subOperations?"
        for key in qustInDTO.keys():
            if qustInDTO[key] != None:
                authUrl += "&" + key + "=" + qustInDTO[key]
        logging.info(qustInDTO), logging.info(operationId), logging.info(
            accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)

    def queryUpgradeTaskList(self, qutlInDTO, accessToken):
        qutlInDTO = DictUtil.dto2dict(qutlInDTO)
        authUrl = RestConstant.QUERY_UPGRADE_TASK_LIST
        for key in qutlInDTO.keys():
            if qutlInDTO[key] != None:
                authUrl += "&" + key + "=" + qutlInDTO[key]
        logging.info(qutlInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)
コード例 #9
0
class DeviceManagement(object):
    log = Log()
    log.setLogConfig()

    def regDirectDevice(self, rddInDto, appId, accessToken):
        rddInDto = DictUtil.dto2dict(rddInDto)
        authUrl = RestConstant.REG_DIRECT_DEVICE
        if appId != None:
            authUrl += "?appId=" + appId
        payload = json.dumps(rddInDto)
        logging.info(rddInDto), logging.info(appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPOST, authUrl,
                                        payload, accessToken)

    def refreshDeviceKey(self, rdkInDTO, appId, accessToken):
        rdkInDTO = DictUtil.dto2dict(rdkInDTO)
        authUrl = RestConstant.REFRESH_DEVICE_KEY + rdkInDTO['deviceId']
        if appId != None:
            authUrl += "?appId=" + appId
        payload = json.dumps(rdkInDTO)
        logging.info(rdkInDTO), logging.info(appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPUT, authUrl, payload,
                                        accessToken)

    def modifyDeviceInfo(self, mdiInDto, deviceId, appId, accessToken):
        mdiInDto = DictUtil.dto2dict(mdiInDto)
        authUrl = RestConstant.MODIFY_DEVICE_INFO + deviceId
        if appId != None:
            authUrl += "?appId=" + appId
        payload = json.dumps(mdiInDto)
        logging.info(mdiInDto), logging.info(deviceId), logging.info(
            appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPUT, authUrl, payload,
                                        accessToken)

    def deleteDirectDevice(self, deviceId, cascade, appId, accessToken):
        authUrl = RestConstant.MODIFY_DEVICE_INFO + deviceId + "?"
        if appId != None:
            authUrl += "&appId=" + appId
        if cascade != None:
            authUrl += "&cascade=" + cascade
        logging.info(deviceId), logging.info(cascade), logging.info(
            appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPDELETE, authUrl, None,
                                        accessToken)

    def queryDeviceStatus(self, deviceId, appId, accessToken):
        authUrl = RestConstant.QUERY_DEVICE_STATUS + deviceId
        if appId != None:
            authUrl += "?appId=" + appId
        logging.info(deviceId), logging.info(appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)

    def queryDeviceRealtimeLocation(self, qdrlInDTO, appId, accessToken):
        qdrlInDTO = DictUtil.dto2dict(qdrlInDTO)
        authUrl = RestConstant.QUERY_DEVICE_REALTIME_LOCATION
        if appId != None:
            authUrl += "?appId=" + appId
        payload = json.dumps(qdrlInDTO)
        logging.info(qdrlInDTO), logging.info(appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPOST, authUrl,
                                        payload, accessToken)

    def queryDeviceShadow(self, deviceId, appId, accessToken):
        authUrl = RestConstant.QUERY_DEVICE_SHADOW + deviceId
        if appId != None:
            authUrl += "?appId=" + appId
        logging.info(deviceId), logging.info(appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)

    def modifyDeviceShadow(self, mdsInDTO, deviceId, appId, accessToken):
        mdsInDTO = DictUtil.dto2dict(mdsInDTO)
        authUrl = RestConstant.MODIFY_DEVICE_SHADOW + deviceId
        if appId != None:
            authUrl += "?appId=" + appId
        payload = json.dumps(mdsInDTO)
        logging.info(mdsInDTO), logging.info(deviceId), logging.info(
            appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPUT, authUrl, payload,
                                        accessToken)
コード例 #10
0
class RuleEngine(object):
    log = Log()
    log.setLogConfig()

    def createRule(self, ruleDTO, appId, accessToken):
        ruleDTO = DictUtil.dto2dict(ruleDTO)
        authUrl = RestConstant.CREATE_RULE
        if appId != None:
            authUrl += "?appId=" + appId
        payload = json.dumps(ruleDTO)
        logging.info(ruleDTO), logging.info(appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPOST, authUrl,
                                        payload, accessToken)

    def updateRule(self, ruleDTO, appId, accessToken):
        ruleDTO = DictUtil.dto2dict(ruleDTO)
        authUrl = RestConstant.UPDATE_RULE
        if appId != None:
            authUrl += "?appId=" + appId
        payload = json.dumps(ruleDTO)
        logging.info(ruleDTO), logging.info(appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPUT, authUrl, payload,
                                        accessToken)

    def deleteRule(self, ruleId, appId, accessToken):
        authUrl = RestConstant.DELETE_RULE + ruleId
        if appId != None:
            authUrl += "?appId=" + appId
        logging.info(ruleId), logging.info(appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPDELETE, authUrl, None,
                                        accessToken)

    def queryRules(self, qrInDTO, accessToken):
        qrInDTO = DictUtil.dto2dict(qrInDTO)
        authUrl = RestConstant.QUERY_RULES + qrInDTO['author']
        for key in qrInDTO.keys():
            if key == 'author':
                authUrl = authUrl
            elif qrInDTO[key] != None:
                authUrl += "&" + key + "=" + qrInDTO[key]
        logging.info(qrInDTO), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPGET, authUrl, None,
                                        accessToken)

    def updateRuleStatus(self, ursInDTO, appId, accessToken):
        ursInDTO = DictUtil.dto2dict(ursInDTO)
        authUrl = RestConstant.UPDATE_RULE_STATUS + ursInDTO[
            'ruleId'] + "/status/" + ursInDTO['status']
        if appId != None:
            authUrl += "?appId=" + appId
        logging.info(ursInDTO), logging.info(appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPUT, authUrl, None,
                                        accessToken)

    def updateBatchRuleStatus(self, ubrsInDTO, appId, accessToken):
        ubrsInDTO = DictUtil.dto2dict(ubrsInDTO)
        authUrl = RestConstant.UPDATE_BATCH_RULE_STATUS
        if appId != None:
            authUrl += "?appId=" + appId
        payload = json.dumps(ubrsInDTO)
        logging.info(ubrsInDTO), logging.info(appId), logging.info(accessToken)
        return NorthApiClient.invokeAPI(RestConstant.HTTPPUT, authUrl, payload,
                                        accessToken)