mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-08 18:34:24 -04:00
We can drop use of the old key as we no longer need to read data from the old key. Either data exists in the new key and we read it from there or data doesn't exist in the new key and we go to the API to get it and then set it in redis. Note, the previous commit is important because it means we aren't at risk of when this commit is being deployed out, of us getting stale data from the old key.
55 lines
1.8 KiB
Python
55 lines
1.8 KiB
Python
from app.notify_client import NotifyAdminAPIClient, _attach_current_user, cache
|
|
|
|
|
|
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
|
|
|
|
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}')
|
|
def get_broadcast_message(self, *, service_id, broadcast_message_id):
|
|
return self.get(f'/service/{service_id}/broadcast-message/{broadcast_message_id}')
|
|
|
|
@cache.delete('broadcast-message-{broadcast_message_id}')
|
|
@cache.delete('service-{service_id}-broadcast-message-{broadcast_message_id}')
|
|
def update_broadcast_message(self, *, service_id, broadcast_message_id, data):
|
|
self.post(
|
|
f'/service/{service_id}/broadcast-message/{broadcast_message_id}',
|
|
data=data,
|
|
)
|
|
|
|
@cache.delete('broadcast-message-{broadcast_message_id}')
|
|
@cache.delete('service-{service_id}-broadcast-message-{broadcast_message_id}')
|
|
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()
|