Only accept GDrive notifications if the content was updated

Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
Emmy D'Anello 2024-04-06 22:04:55 +02:00
parent 0f5d0c8b40
commit b7344566ef
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
1 changed files with 4 additions and 0 deletions

View File

@ -1893,6 +1893,10 @@ class GSheetNotificationsView(View):
if request.headers['X-Goog-Channel-ID'] != expected_channel_id:
raise ValueError(f"Invalid channel ID: {request.headers['X-Goog-Channel-ID']}")
if request.headers['X-Goog-Resource-State'] != 'update' \
or 'content' not in request.headers['X-Goog-Changed'].split(','):
return HttpResponse(status=204)
# Run the parsing in dedicated executors since it takes time
executor = ThreadPoolExecutor()
async for pool in tournament.pools.prefetch_related('participations', 'passages__notes', 'juries').all():