mirror of
https://github.com/GSA/notifications-api.git
synced 2026-09-10 18:23:01 -04:00
new /notification/statistics endpoint
This commit is contained in:
@@ -51,6 +51,12 @@ def dao_get_notification_statistics_for_service_and_day(service_id, day):
|
|||||||
).order_by(desc(NotificationStatistics.day)).first()
|
).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,
|
def dao_get_7_day_agg_notification_statistics_for_service(service_id,
|
||||||
date_from,
|
date_from,
|
||||||
week_count=52):
|
week_count=52):
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime, date
|
||||||
import statsd
|
import statsd
|
||||||
import itertools
|
import itertools
|
||||||
from flask import (
|
from flask import (
|
||||||
@@ -27,7 +27,8 @@ from app.schemas import (
|
|||||||
email_notification_schema,
|
email_notification_schema,
|
||||||
sms_template_notification_schema,
|
sms_template_notification_schema,
|
||||||
notification_status_schema,
|
notification_status_schema,
|
||||||
notifications_filter_schema
|
notifications_filter_schema,
|
||||||
|
notifications_statistics_schema
|
||||||
)
|
)
|
||||||
from app.celery.tasks import send_sms, send_email
|
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))
|
statsd_client.incr('notifications.api.{}'.format(notification_type))
|
||||||
return jsonify(data={"notification": {"id": notification_id}}), 201
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user