from flask_restful import Resource, reqparse from app.main.service.energy_service import ( get_hourly_wh_by_day, get_total_wh_by_day) from app.main.common.decorators import standardize_api_response class TotalEnergyByDayApi(Resource): @standardize_api_response def get(self): parser = reqparse.RequestParser(bundle_errors=True) parser.add_argument( 'serial_number', help='Numero serie del medidor', required=True) parser.add_argument('log_number', help='Número de Log', required=True) parser.add_argument( 'start_date', help='Fecha de inicio la consulta', required=True) parser.add_argument('end_date', help='Fecha de fin de la consulta') args = parser.parse_args() if not args: return {'no-data': ''} serial_number = args['serial_number'] log_number = args['log_number'] start_date = args['start_date'] end_date = args['end_date'] return get_total_wh_by_day( serial_number, log_number, start_date, end_date) class HourlyEnergyApi(Resource): @standardize_api_response def get(self): parser = reqparse.RequestParser(bundle_errors=True) parser.add_argument( 'serial_number', help='Numero serie del medidor', required=True) parser.add_argument('log_number', help='Número de Log', required=True) parser.add_argument( 'start_date', help='Fecha de inicio la consulta', required=True) parser.add_argument('end_date', help='Fecha de fin de la consulta') args = parser.parse_args() if not args: return {'no-data': ''} serial_number = args['serial_number'] log_number = args['log_number'] start_date = args['start_date'] end_date = args['end_date'] return get_hourly_wh_by_day( serial_number, log_number, start_date, end_date)