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

externalized sensor routes

parent 40372d83
Branches
Tags
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