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,
|
|
|
|
|
):
|
|
|
|
|
data = {
|
|
|
|
|
"service_id": service_id,
|
|
|
|
|
"template_id": template_id,
|
|
|
|
|
"personalisation": {},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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']
|
|
|
|
|
|
2020-09-21 16:29:35 +01:00
|
|
|
@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()
|