Skip to content
Snippets Groups Projects
Commit cb8d8639 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

externalized sensor routes

parent 40372d83
No related branches found
No related tags found
No related merge requests found
......@@ -12,25 +12,6 @@ from logic.Database import Database
from logic.RequestValidator import ValidationError, RequestValidator
class DeviceParameters(Enum):
DEVICE = 'device'
SENSORS = 'sensors'
@staticmethod
def get_values():
return [m.value for m in DeviceParameters]
class SensorParameters(Enum):
NAME = 'name'
TYPE = 'type'
VALUE = 'value'
@staticmethod
def get_values():
return [m.value for m in SensorParameters]
def construct_blueprint(settings, version):
routes = Blueprint('routes', __name__)
......@@ -48,16 +29,6 @@ def construct_blueprint(settings, version):
appName=Constants.APP_NAME,
openApiSpecification=specification)
@routes.route('/sensors', methods=['GET'])
def get_all_sensors():
database = Database(settings['database']['databasePath'])
return jsonify(database.sensorAccess.get_all_sensors())
@routes.route('/sensor/<int:sensorID>', methods=['GET'])
def get_sensor(sensorID):
database = Database(settings['database']['databasePath'])
return jsonify(database.sensorAccess.get_sensor(sensorID))
@routes.route('/measurements', methods=['GET'])
def get_all_measurements():
database = Database(settings['database']['databasePath'])
......@@ -68,24 +39,6 @@ def construct_blueprint(settings, version):
database = Database(settings['database']['databasePath'])
return jsonify(database.measurementAccess.get_measurement(measurementID))
@routes.route('/sensor/<sensorID>/measurements', methods=['GET'])
def get_all_measurements_for_sensor(sensorID):
database = Database(settings['database']['databasePath'])
sensor = database.sensorAccess.get_sensor(sensorID)
if not sensor:
return jsonify({'success': False, 'msg': f'No sensor with id "{sensorID}" existing'})
return jsonify(database.measurementAccess.get_all_measurements_for_sensor(sensorID))
@routes.route('/sensor/<sensorID>/measurements/latest', methods=['GET'])
def get_latest_measurements_for_sensor(sensorID):
database = Database(settings['database']['databasePath'])
sensor = database.sensorAccess.get_sensor(sensorID)
if not sensor:
return jsonify({'success': False, 'msg': f'No sensor with id "{sensorID}" existing'})
return jsonify(database.measurementAccess.get_latest_measurements_for_sensor(sensorID))
@routes.route('/measurements', methods=['POST'])
@require_api_key(password=settings['api']['key'])
def addMeasurement():
......
from enum import Enum
from flask import Blueprint, jsonify
from logic.Database import Database
class SensorParameters(Enum):
NAME = 'name'
TYPE = 'type'
VALUE = 'value'
@staticmethod
def get_values():
return [m.value for m in SensorParameters]
def construct_blueprint(settings):
sensors = Blueprint('sensors', __name__)
@sensors.route('/sensors', methods=['GET'])
def get_all_sensors():
database = Database(settings['database']['databasePath'])
return jsonify(database.sensorAccess.get_all_sensors())
@sensors.route('/sensor/<int:sensorID>', methods=['GET'])
def get_sensor(sensorID):
database = Database(settings['database']['databasePath'])
return jsonify(database.sensorAccess.get_sensor(sensorID))
@sensors.route('/sensor/<sensorID>/measurements', methods=['GET'])
def get_all_measurements_for_sensor(sensorID):
database = Database(settings['database']['databasePath'])
sensor = database.sensorAccess.get_sensor(sensorID)
if not sensor:
return jsonify({'success': False, 'msg': f'No sensor with id "{sensorID}" existing'})
return jsonify(database.measurementAccess.get_all_measurements_for_sensor(sensorID))
@sensors.route('/sensor/<sensorID>/measurements/latest', methods=['GET'])
def get_latest_measurements_for_sensor(sensorID):
database = Database(settings['database']['databasePath'])
sensor = database.sensorAccess.get_sensor(sensorID)
if not sensor:
return jsonify({'success': False, 'msg': f'No sensor with id "{sensorID}" existing'})
return jsonify(database.measurementAccess.get_latest_measurements_for_sensor(sensorID))
return sensors
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment