Files
notifications-admin/app/notify_client/broadcast_message_api_client.py
T

60 lines
1.9 KiB
Python
Raw Normal View History

2020-08-03 10:15:18 +01:00
from app.notify_client import NotifyAdminAPIClient, _attach_current_user, cache
2020-07-09 10:33:50 +01:00
class BroadcastMessageAPIClient(NotifyAdminAPIClient):
def create_broadcast_message(
self,
*,
service_id,
template_id,
content,
reference,
2020-07-09 10:33:50 +01:00
):
data = {
"service_id": service_id,
"personalisation": {},
}
if template_id:
data.update(template_id=template_id)
if content:
data.update(content=content)
if reference:
data.update(reference=reference)
2020-07-09 10:33:50 +01:00
data = _attach_current_user(data)
broadcast_message = self.post(
f'/service/{service_id}/broadcast-message',
data=data,
)
return broadcast_message
2020-07-09 15:48:56 +01:00
def get_broadcast_messages(self, service_id):
return self.get(f'/service/{service_id}/broadcast-message')['broadcast_messages']
@cache.set('service-{service_id}-broadcast-message-{broadcast_message_id}')
2020-07-09 10:33:50 +01:00
def get_broadcast_message(self, *, service_id, broadcast_message_id):
return self.get(f'/service/{service_id}/broadcast-message/{broadcast_message_id}')
2020-09-21 14:04:10 +01:00
@cache.delete('service-{service_id}-broadcast-message-{broadcast_message_id}')
2020-07-09 10:33:50 +01:00
def update_broadcast_message(self, *, service_id, broadcast_message_id, data):
self.post(
f'/service/{service_id}/broadcast-message/{broadcast_message_id}',
data=data,
)
2020-09-21 14:04:10 +01:00
@cache.delete('service-{service_id}-broadcast-message-{broadcast_message_id}')
2020-07-09 10:33:50 +01:00
def update_broadcast_message_status(self, status, *, service_id, broadcast_message_id):
data = _attach_current_user({
'status': status,
})
self.post(
f'/service/{service_id}/broadcast-message/{broadcast_message_id}/status',
data=data,
)
broadcast_message_api_client = BroadcastMessageAPIClient()