Update live services count when service is counted

If we change our mind and decide whether a service should/should not be
counted in the list of live services then we should also drop the cache
which stores the count of how many live services there are.
This commit is contained in:
Chris Hill-Scott
2019-07-08 14:32:18 +01:00
parent 959dd6ac38
commit c11a43cbc4
3 changed files with 11 additions and 1 deletions

View File

@@ -263,7 +263,7 @@ def service_switch_count_as_live(service_id):
)
if form.validate_on_submit():
current_service.update(count_as_live=form.enabled.data)
current_service.update_count_as_live(form.enabled.data)
return redirect(url_for('.service_settings', service_id=service_id))
return render_template(

View File

@@ -65,6 +65,9 @@ class Service(JSONModel):
def update(self, **kwargs):
return service_api_client.update_service(self.id, **kwargs)
def update_count_as_live(self, count_as_live):
return service_api_client.update_count_as_live(self.id, count_as_live=count_as_live)
def update_status(self, live):
return service_api_client.update_status(self.id, live=live)

View File

@@ -114,6 +114,13 @@ class ServiceAPIClient(NotifyAdminAPIClient):
go_live_at=str(datetime.utcnow()) if live else None
)
@cache.delete('live-service-and-organisation-counts')
def update_count_as_live(self, service_id, count_as_live):
return self.update_service(
service_id,
count_as_live=count_as_live,
)
# This method is not cached because it calls through to one which is
def update_service_with_properties(self, service_id, properties):
return self.update_service(service_id, **properties)