mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-13 08:42:21 -05:00
25 lines
907 B
Python
25 lines
907 B
Python
|
|
from datetime import datetime
|
||
|
|
|
||
|
|
from flask import Blueprint, jsonify, request
|
||
|
|
|
||
|
|
from app.dao.notifications_dao import fetch_aggregate_stats_by_date_range_for_all_services
|
||
|
|
from app.errors import register_errors
|
||
|
|
from app.service.statistics import format_admin_stats
|
||
|
|
|
||
|
|
platform_stats_blueprint = Blueprint('platform_stats', __name__)
|
||
|
|
|
||
|
|
register_errors(platform_stats_blueprint)
|
||
|
|
|
||
|
|
|
||
|
|
@platform_stats_blueprint.route('')
|
||
|
|
def get_new_platform_stats():
|
||
|
|
# If start and end date are not set, we are expecting today's stats.
|
||
|
|
today = str(datetime.utcnow().date())
|
||
|
|
|
||
|
|
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()
|
||
|
|
data = fetch_aggregate_stats_by_date_range_for_all_services(start_date=start_date, end_date=end_date)
|
||
|
|
stats = format_admin_stats(data)
|
||
|
|
|
||
|
|
return jsonify(stats)
|