mirror of
https://github.com/GSA/notifications-admin.git
synced 2025-12-17 10:34:07 -05:00
The Notify API client changed in version 4 to take two arguments, not three (service ID was removed in favour of the combined API key). This gets a bit gnarly because the API key has to be at least a certain length so it can be substringed internally.
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
from app.notify_client import NotifyAdminAPIClient
|
|
|
|
|
|
class TemplateStatisticsApiClient(NotifyAdminAPIClient):
|
|
def __init__(self):
|
|
super().__init__("a" * 73, "b")
|
|
|
|
def init_app(self, app):
|
|
self.base_url = app.config['API_HOST_NAME']
|
|
self.api_key = '{}-{}'.format(
|
|
app.config['ADMIN_CLIENT_USER_NAME'],
|
|
app.config['ADMIN_CLIENT_SECRET'],
|
|
)
|
|
|
|
def get_template_statistics_for_service(self, service_id, limit_days=None):
|
|
params = {}
|
|
if limit_days is not None:
|
|
params['limit_days'] = limit_days
|
|
|
|
return self.get(
|
|
url='/service/{}/template-statistics'.format(service_id),
|
|
params=params
|
|
)['data']
|
|
|
|
def get_monthly_template_statistics_for_service(self, service_id, year):
|
|
|
|
return self.get(
|
|
url='/service/{}/notifications/templates/monthly?year={}'.format(service_id, year)
|
|
)['data']
|
|
|
|
def get_template_statistics_for_template(self, service_id, template_id):
|
|
|
|
return self.get(
|
|
url='/service/{}/template-statistics/{}'.format(service_id, template_id)
|
|
)['data']
|