aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/apps/api/models
diff options
context:
space:
mode:
authorGravatar ks129 <[email protected]>2021-10-28 20:38:59 +0300
committerGravatar D0rs4n <[email protected]>2021-12-18 18:02:12 +0100
commitf4152448dfa4cd9912c22134af01fe37f0b153f6 (patch)
tree5557a2f4ae492c713e399f151ab0d0704d8d4a33 /pydis_site/apps/api/models
parentAdd validation to filters to not allow duplicated channels and categories (diff)
Add validation to filters to not allow duplicates + additional_field -> JSON
Diffstat (limited to 'pydis_site/apps/api/models')
-rw-r--r--pydis_site/apps/api/models/bot/filters.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/pydis_site/apps/api/models/bot/filters.py b/pydis_site/apps/api/models/bot/filters.py
index 45dea2c4..472354f8 100644
--- a/pydis_site/apps/api/models/bot/filters.py
+++ b/pydis_site/apps/api/models/bot/filters.py
@@ -1,11 +1,12 @@
from typing import List
-from django.contrib.postgres.fields import ArrayField
+from django.contrib.postgres.fields import ArrayField, JSONField
from django.core.exceptions import ValidationError
from django.db import models
from django.db.models import UniqueConstraint
-from pydis_site.apps.api.models import Infraction
+# Must be imported that way to avoid circular imports
+from .infraction import Infraction
class FilterListType(models.IntegerChoices):
@@ -42,7 +43,7 @@ class FilterSettingsMixin(models.Model):
)
infraction_type = models.CharField(
choices=Infraction.TYPE_CHOICES,
- max_length=4,
+ max_length=9,
null=True,
help_text="The infraction to apply to this user."
)
@@ -142,7 +143,7 @@ class Filter(FilterSettingsMixin):
content = models.CharField(max_length=100, help_text="The definition of this filter.")
description = models.CharField(max_length=200, help_text="Why this filter has been added.")
- additional_field = models.BooleanField(null=True, help_text="Implementation specific field.")
+ additional_field = JSONField(null=True, help_text="Implementation specific field.")
filter_list = models.ForeignKey(
FilterList, models.CASCADE, related_name="filters",
help_text="The filter list containing this filter."