diff --git a/src/blueprints/Routes.py b/src/blueprints/Routes.py index 5141120ae5c2558cbe750ef0e2622c824e8691fb..da2271fcef77c9dcde397cd8fa4869aca6dd2cd7 100644 --- a/src/blueprints/Routes.py +++ b/src/blueprints/Routes.py @@ -46,19 +46,20 @@ def construct_blueprint(settings): sensorParams = RequestValidator.validate_parameters(sensor, SensorParameters.get_values(), f'sensor "{sensor}"') - - sensorName = sensorParams[SensorParameters.NAME.value] - sensorType = sensorParams[SensorParameters.TYPE.value] - sensorValue = sensorParams[SensorParameters.VALUE.value] - - sensor = database.get_sensor(device[0], sensorName) - if sensor: - database.update_sensor(device, sensorName, sensorType, sensorValue) - else: - database.add_sensor(device, sensorName, sensorType, sensorValue) + __add_or_update_sensor(database, device, sensorParams) except ValidationError as e: return e.response, 400 return "" + def __add_or_update_sensor(database, device, sensorParams): + sensorName = sensorParams[SensorParameters.NAME.value] + sensorType = sensorParams[SensorParameters.TYPE.value] + sensorValue = sensorParams[SensorParameters.VALUE.value] + sensor = database.get_sensor(device[0], sensorName) + if sensor: + database.update_sensor(device, sensorName, sensorType, sensorValue) + else: + database.add_sensor(device, sensorName, sensorType, sensorValue) + return routes