From d59a1f447ade43372dc2d0c3b2cdca1501a89215 Mon Sep 17 00:00:00 2001 From: venusbb Date: Fri, 22 Sep 2017 11:05:36 +0100 Subject: [PATCH] Progress: Today stats completed --- app/dao/services_dao.py | 12 +++++++++--- app/schemas.py | 14 +++++++++++++- app/service/rest.py | 9 ++++++++- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/app/dao/services_dao.py b/app/dao/services_dao.py index 15275c399..10ca29ace 100644 --- a/app/dao/services_dao.py +++ b/app/dao/services_dao.py @@ -2,7 +2,7 @@ import uuid from datetime import date, datetime, timedelta from sqlalchemy import asc, func -from sqlalchemy.orm import joinedload +from sqlalchemy.orm import joinedload, lazyload from flask import current_app from app import db @@ -48,6 +48,9 @@ def dao_fetch_all_services(only_active=False): joinedload('users') ) + # import pdb + # pdb.set_trace() + if only_active: query = query.filter(Service.active) @@ -358,7 +361,7 @@ def dao_fetch_monthly_historical_stats_for_service(service_id, year): @statsd(namespace='dao') -def dao_fetch_todays_stats_for_all_services(include_from_test_key=True, trial_mode_services=True): +def dao_fetch_todays_stats_for_all_services(include_from_test_key=True, trial_mode_services=None): # service_id = db.session.query(Service.id).filter(Service.restricted == True) @@ -371,7 +374,7 @@ def dao_fetch_todays_stats_for_all_services(include_from_test_key=True, trial_mo Service ).filter( func.date(Notification.created_at) == date.today(), - Service.restricted == trial_mode_services + # Service.restricted == trial_mode_services ).group_by( Notification.notification_type, Notification.status, @@ -383,6 +386,9 @@ def dao_fetch_todays_stats_for_all_services(include_from_test_key=True, trial_mo if not include_from_test_key: query = query.filter(Notification.key_type != KEY_TYPE_TEST) + if trial_mode_services is not None: + query = query.filter(Service.restricted == trial_mode_services) + return query.all() diff --git a/app/schemas.py b/app/schemas.py index 30bca95a0..c5de11a60 100644 --- a/app/schemas.py +++ b/app/schemas.py @@ -258,7 +258,19 @@ class DetailedServiceSchema(BaseSchema): 'organisation', 'service_sms_senders', 'monthly_billing', - 'reply_to_email_addresses' + 'reply_to_email_addresses', + 'letter_contact_block', # new exclude from here + 'message_limit', + 'email_from', + 'free_sms_fragment_limit', + 'inbound_api', + 'dvla_organisation', + 'whitelist', + 'reply_to_email_address', + 'sms_sender', + 'permissions', + 'inbound_number', + 'inbound_sms' ) diff --git a/app/service/rest.py b/app/service/rest.py index 7b5de6a63..c211fa1dd 100644 --- a/app/service/rest.py +++ b/app/service/rest.py @@ -87,6 +87,9 @@ def get_services(): # If start and end date are not set, we are expecting today's stats. today = str(datetime.utcnow().date()) + # import pdb + # pdb.set_trace() + start_date = datetime.strptime(request.args.get('start_date', today), '%Y-%m-%d').date() end_date = datetime.strptime(request.args.get('end_date', today), '%Y-%m-%d').date() @@ -377,7 +380,11 @@ def get_detailed_services(start_date, end_date, only_active=False, include_from_ for service in services.values(): if not hasattr(service, 'statistics'): service.statistics = statistics.create_zeroed_stats_dicts() - return detailed_service_schema.dump(services.values(), many=True).data + dd = detailed_service_schema.dump(services.values(), many=True).data + # import pdb + # pdb.set_trace() + return dd + # return detailed_service_schema.dump(services.values(), many=True).data @service_blueprint.route('//whitelist', methods=['GET'])