diff --git a/src/blueprints/Measurements.py b/src/blueprints/Measurements.py index beeacb3990d0e26fbce72db744859aa670f26404..5102926f2a41f31b0f4ae6c087d118e03fcd69d8 100644 --- a/src/blueprints/Measurements.py +++ b/src/blueprints/Measurements.py @@ -86,21 +86,4 @@ def construct_blueprint(settings: Dict, backupService: BackupService): database.sensorAccess.add_sensor(deviceID, sensorName, sensorType) return database.sensorAccess.get_sensor_by_name_and_device_id(deviceID, sensorName) - @measurements.route('/measurement', methods=['POST']) - @require_api_key(password=settings['api']['key']) - def add_single_measurement(): - try: - parameters = RequestValidator.validate(request, MeasurementParameters.get_values()) - database = Database(settings['database']['databasePath'], backupService) - - sensorID = parameters[MeasurementParameters.SENSOR_ID.value] - if not database.sensorAccess.get_sensor(sensorID): - return jsonify({'success': False, 'msg': f'No sensor with id "{sensorID}" existing'}) - - database.measurementAccess.add_measurement(sensorID, parameters[SensorParameters.VALUE.value]) - except ValidationError as e: - return e.response, 400 - - return jsonify({'success': True}) - return measurements diff --git a/src/blueprints/Sensors.py b/src/blueprints/Sensors.py deleted file mode 100644 index 15c349ebcb3d5c596a98ece65b29b12d5e7e6e31..0000000000000000000000000000000000000000 --- a/src/blueprints/Sensors.py +++ /dev/null @@ -1,34 +0,0 @@ -from typing import Dict - -from flask import Blueprint, jsonify, request - -from logic.BackupService import BackupService -from logic.database.Database import Database - - -def construct_blueprint(settings: Dict, backupService: BackupService): - sensors = Blueprint('sensors', __name__) - - @sensors.route('/sensor/<int:sensorID>/measurements', methods=['GET']) - def get_all_measurements_for_sensor_with_limit(sensorID: int): - database = Database(settings['database']['databasePath'], backupService) - sensor = database.sensorAccess.get_sensor(sensorID) - if not sensor: - return jsonify({'success': False, 'msg': f'No sensor with id "{sensorID}" existing'}) - - startDateTime = request.args.get('startDateTime') - endDateTime = request.args.get('endDateTime') - - database = Database(settings['database']['databasePath'], backupService) - return jsonify(database.measurementAccess.get_all_measurements_for_sensor(sensorID, startDateTime, endDateTime)) - - @sensors.route('/sensor/<int:sensorID>/measurements/latest', methods=['GET']) - def get_latest_measurements_for_sensor(sensorID: int): - database = Database(settings['database']['databasePath'], backupService) - 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 diff --git a/src/logic/database/Database.py b/src/logic/database/Database.py deleted file mode 100644 index 45b1ac8ea10e21892cf1c77ce2f5052e3d0c7ecf..0000000000000000000000000000000000000000 --- a/src/logic/database/Database.py +++ /dev/null @@ -1,25 +0,0 @@ -import logging - -from logic import Constants -from logic.BackupService import BackupService -from logic.database.DeviceAccess import DeviceAccess -from logic.database.MeasurementAccess import MeasurementAccess -from logic.database.SensorAccess import SensorAccess - -LOGGER = logging.getLogger(Constants.APP_NAME) - - -class Database: - def __init__(self, databasePath: str, backupService: BackupService): - self._databasePath = databasePath - self.deviceAccess = DeviceAccess(databasePath, backupService) - self.sensorAccess = SensorAccess(databasePath, backupService) - self.measurementAccess = MeasurementAccess(databasePath, backupService) - - self.__create_database() - - def __create_database(self): - LOGGER.debug('Creating database tables...') - self.deviceAccess.create_table() - self.sensorAccess.create_table() - self.measurementAccess.create_table() diff --git a/src/logic/database/MeasurementAccess.py b/src/logic/database/MeasurementAccess.py deleted file mode 100644 index 227873dd36f13c32fd694e5403a655ea1b90509f..0000000000000000000000000000000000000000 --- a/src/logic/database/MeasurementAccess.py +++ /dev/null @@ -1,15 +0,0 @@ -import logging -from typing import Dict - -from logic import Constants -from logic.database.DatabaseAccess import DatabaseAccess, FetchType - -LOGGER = logging.getLogger(Constants.APP_NAME) - - -class MeasurementAccess(DatabaseAccess): - def get_latest_measurements_for_sensor(self, sensorID: int) -> Dict[str, str] or None: - return self._query(f'SELECT * FROM {self.TABLE_NAME} WHERE sensor_id = ? ' - f'ORDER BY datetime(timestamp) DESC LIMIT 1', - sensorID, - fetch_type=FetchType.ONE)