new /notification/statistics endpoint

This commit is contained in:
Leo Hemsted
2016-05-19 16:42:21 +01:00
parent 297f8aac6e
commit 0ad050043c
2 changed files with 18 additions and 2 deletions

View File

@@ -51,6 +51,12 @@ def dao_get_notification_statistics_for_service_and_day(service_id, day):
).order_by(desc(NotificationStatistics.day)).first()
def dao_get_notification_statistics_for_day(day):
return NotificationStatistics.query.filter_by(
day=day
).all()
def dao_get_7_day_agg_notification_statistics_for_service(service_id,
date_from,
week_count=52):

View File

@@ -1,4 +1,4 @@
from datetime import datetime
from datetime import datetime, date
import statsd
import itertools
from flask import (
@@ -27,7 +27,8 @@ from app.schemas import (
email_notification_schema,
sms_template_notification_schema,
notification_status_schema,
notifications_filter_schema
notifications_filter_schema,
notifications_statistics_schema
)
from app.celery.tasks import send_sms, send_email
@@ -384,3 +385,12 @@ def send_notification(notification_type):
statsd_client.incr('notifications.api.{}'.format(notification_type))
return jsonify(data={"notification": {"id": notification_id}}), 201
@notifications.route('/notifications/statistics')
def get_notification_statistics_for_today():
today = date.today()
statistics = notifications_dao.dao_get_notification_statistics_for_day(day=today)
data, errors = notifications_statistics_schema.dump(statistics, many=True)
return jsonify(data=data, date=today.isoformat()), 200