diff --git a/argilla-server/src/argilla_server/contexts/datasets.py b/argilla-server/src/argilla_server/contexts/datasets.py index b49dd72477..3208ad9c7b 100644 --- a/argilla-server/src/argilla_server/contexts/datasets.py +++ b/argilla-server/src/argilla_server/contexts/datasets.py @@ -939,7 +939,11 @@ async def upsert_response( await db.commit() await distribution.update_record_status(search_engine, record.id) - await notify_response_event_v1(db, ResponseEvent.upserted, response) + + if response.inserted_at == response.updated_at: + await notify_response_event_v1(db, ResponseEvent.created, response) + else: + await notify_response_event_v1(db, ResponseEvent.updated, response) return response diff --git a/argilla-server/src/argilla_server/webhooks/v1/enums.py b/argilla-server/src/argilla_server/webhooks/v1/enums.py index b5c396be91..fce902e476 100644 --- a/argilla-server/src/argilla_server/webhooks/v1/enums.py +++ b/argilla-server/src/argilla_server/webhooks/v1/enums.py @@ -21,16 +21,15 @@ class WebhookEvent(str, Enum): dataset_deleted = "dataset.deleted" dataset_published = "dataset.published" - response_created = "response.created" - response_updated = "response.updated" - response_deleted = "response.deleted" - response_upserted = "response.upserted" - record_created = "record.created" record_updated = "record.updated" record_deleted = "record.deleted" record_completed = "record.completed" + response_created = "response.created" + response_updated = "response.updated" + response_deleted = "response.deleted" + def __str__(self): return str(self.value) @@ -45,16 +44,6 @@ def __str__(self): return str(self.value) -class ResponseEvent(str, Enum): - created = WebhookEvent.response_created.value - updated = WebhookEvent.response_updated.value - deleted = WebhookEvent.response_deleted.value - upserted = WebhookEvent.response_upserted.value - - def __str__(self): - return str(self.value) - - class RecordEvent(str, Enum): created = WebhookEvent.record_created.value updated = WebhookEvent.record_updated.value @@ -63,3 +52,12 @@ class RecordEvent(str, Enum): def __str__(self): return str(self.value) + + +class ResponseEvent(str, Enum): + created = WebhookEvent.response_created.value + updated = WebhookEvent.response_updated.value + deleted = WebhookEvent.response_deleted.value + + def __str__(self): + return str(self.value)