aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/apps/api/serializers.py
diff options
context:
space:
mode:
Diffstat (limited to 'pydis_site/apps/api/serializers.py')
-rw-r--r--pydis_site/apps/api/serializers.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/pydis_site/apps/api/serializers.py b/pydis_site/apps/api/serializers.py
index 7f9461ec..8da47802 100644
--- a/pydis_site/apps/api/serializers.py
+++ b/pydis_site/apps/api/serializers.py
@@ -257,6 +257,15 @@ class FilterSerializer(ModelSerializer):
) + SETTINGS_FIELDS
extra_kwargs = _create_filter_meta_extra_kwargs()
+ def create(self, validated_data: dict) -> User:
+ """Override the create method to catch violations of the custom uniqueness constraint."""
+ try:
+ return super().create(validated_data)
+ except IntegrityError:
+ raise ValidationError(
+ "Check if a filter with this combination of content and settings already exists in this filter list."
+ )
+
def to_representation(self, instance: Filter) -> dict:
"""
Provides a custom JSON representation to the Filter Serializers.