aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar mbaruh <[email protected]>2023-03-26 23:12:34 +0300
committerGravatar mbaruh <[email protected]>2023-03-26 23:12:34 +0300
commit0f40b114940164c65b10d1312b5a419ce025c799 (patch)
tree368edd8c06d018efa7f24a1cc3380860909bef0b
parentUse consistent quoting style (diff)
Rename additional_field to additional_settings
-rw-r--r--pydis_site/apps/api/migrations/0088_new_filter_schema.py4
-rw-r--r--pydis_site/apps/api/migrations/0089_unique_constraint_filters.py4
-rw-r--r--pydis_site/apps/api/models/bot/filters.py4
-rw-r--r--pydis_site/apps/api/serializers.py9
-rw-r--r--pydis_site/apps/api/tests/test_filters.py2
-rw-r--r--pydis_site/apps/api/tests/test_models.py2
-rw-r--r--pydis_site/apps/api/viewsets/bot/filters.py14
7 files changed, 21 insertions, 18 deletions
diff --git a/pydis_site/apps/api/migrations/0088_new_filter_schema.py b/pydis_site/apps/api/migrations/0088_new_filter_schema.py
index 1506e4d7..2e1d78c9 100644
--- a/pydis_site/apps/api/migrations/0088_new_filter_schema.py
+++ b/pydis_site/apps/api/migrations/0088_new_filter_schema.py
@@ -64,7 +64,7 @@ def forward(apps: Apps, schema_editor: BaseDatabaseSchemaEditor) -> None:
updated_at=object_.updated_at,
filter_list=list_,
description=object_.comment,
- additional_field=None,
+ additional_settings=None,
guild_pings=None,
filter_dm=None,
dm_pings=None,
@@ -105,7 +105,7 @@ class Migration(migrations.Migration):
('updated_at', models.DateTimeField(auto_now=True)),
('content', models.CharField(help_text='The definition of this filter.', max_length=100)),
('description', models.CharField(help_text='Why this filter has been added.', max_length=200, null=True)),
- ('additional_field', models.JSONField(help_text='Implementation specific field.', null=True)),
+ ('additional_settings', models.JSONField(help_text='Additional settings which are specific to this filter.', null=True)),
('guild_pings', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=100), help_text='Who to ping when this filter triggers.', size=None, null=True)),
('filter_dm', models.BooleanField(help_text='Whether DMs should be filtered.', null=True)),
('dm_pings', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=100), help_text='Who to ping when this filter triggers on a DM.', size=None, null=True)),
diff --git a/pydis_site/apps/api/migrations/0089_unique_constraint_filters.py b/pydis_site/apps/api/migrations/0089_unique_constraint_filters.py
index 0bcfd8a3..cb230a27 100644
--- a/pydis_site/apps/api/migrations/0089_unique_constraint_filters.py
+++ b/pydis_site/apps/api/migrations/0089_unique_constraint_filters.py
@@ -11,13 +11,13 @@ class Migration(migrations.Migration):
migrations.RunSQL(
"ALTER TABLE api_filter "
"ADD CONSTRAINT unique_filters UNIQUE NULLS NOT DISTINCT "
- "(content, additional_field, filter_list_id, dm_content, dm_embed, infraction_type, infraction_reason, infraction_duration, infraction_channel, guild_pings, filter_dm, dm_pings, remove_context, bypass_roles, enabled, send_alert, enabled_channels, disabled_channels, enabled_categories, disabled_categories)",
+ "(content, additional_settings, filter_list_id, dm_content, dm_embed, infraction_type, infraction_reason, infraction_duration, infraction_channel, guild_pings, filter_dm, dm_pings, remove_context, bypass_roles, enabled, send_alert, enabled_channels, disabled_channels, enabled_categories, disabled_categories)",
reverse_sql="ALTER TABLE api_filter DROP CONSTRAINT unique_filters",
state_operations=[
migrations.AddConstraint(
model_name='filter',
constraint=models.UniqueConstraint(
- fields=('content', 'additional_field', 'filter_list', 'dm_content', 'dm_embed', 'infraction_type', 'infraction_reason', 'infraction_duration', 'infraction_channel', 'guild_pings', 'filter_dm', 'dm_pings', 'remove_context', 'bypass_roles', 'enabled', 'send_alert', 'enabled_channels', 'disabled_channels', 'enabled_categories', 'disabled_categories'),
+ fields=('content', 'additional_settings', 'filter_list', 'dm_content', 'dm_embed', 'infraction_type', 'infraction_reason', 'infraction_duration', 'infraction_channel', 'guild_pings', 'filter_dm', 'dm_pings', 'remove_context', 'bypass_roles', 'enabled', 'send_alert', 'enabled_channels', 'disabled_channels', 'enabled_categories', 'disabled_categories'),
name='unique_filters'
),
),
diff --git a/pydis_site/apps/api/models/bot/filters.py b/pydis_site/apps/api/models/bot/filters.py
index c6f6f851..aadb39aa 100644
--- a/pydis_site/apps/api/models/bot/filters.py
+++ b/pydis_site/apps/api/models/bot/filters.py
@@ -131,7 +131,9 @@ class FilterBase(ModelTimestampMixin, ModelReprMixin, models.Model):
max_length=200,
help_text="Why this filter has been added.", null=True
)
- additional_field = models.JSONField(null=True, help_text="Implementation specific field.")
+ additional_settings = models.JSONField(
+ null=True, help_text="Additional settings which are specific to this filter."
+ )
filter_list = models.ForeignKey(
FilterList, models.CASCADE, related_name="filters",
help_text="The filter list containing this filter."
diff --git a/pydis_site/apps/api/serializers.py b/pydis_site/apps/api/serializers.py
index da02c837..a3779094 100644
--- a/pydis_site/apps/api/serializers.py
+++ b/pydis_site/apps/api/serializers.py
@@ -184,7 +184,7 @@ ALLOW_EMPTY_SETTINGS = (
# Required fields for custom JSON representation purposes
BASE_FILTER_FIELDS = (
- 'id', 'created_at', 'updated_at', 'content', 'description', 'additional_field'
+ 'id', 'created_at', 'updated_at', 'content', 'description', 'additional_settings'
)
BASE_FILTERLIST_FIELDS = ('id', 'created_at', 'updated_at', 'name', 'list_type')
BASE_SETTINGS_FIELDS = (
@@ -279,7 +279,7 @@ class FilterSerializer(ModelSerializer):
'updated_at',
'content',
'description',
- 'additional_field',
+ 'additional_settings',
'filter_list'
) + SETTINGS_FIELDS
extra_kwargs = _create_meta_extra_kwargs(for_filter=True)
@@ -382,9 +382,10 @@ class FilterListSerializer(ModelSerializer):
Provides a custom JSON representation to the FilterList Serializers.
This representation restructures how the Filter is represented.
- It groups the Infraction, Channel and Mention related fields into their own separated group.
+ It groups the Infraction, Channel, and Mention related fields
+ into their own separated groups.
- Furthermore, it puts the fields that meant to represent FilterList settings,
+ Furthermore, it puts the fields that are meant to represent FilterList settings,
into a sub-field called `settings`.
"""
schema = {name: getattr(instance, name) for name in BASE_FILTERLIST_FIELDS}
diff --git a/pydis_site/apps/api/tests/test_filters.py b/pydis_site/apps/api/tests/test_filters.py
index f36e0617..3d3be51e 100644
--- a/pydis_site/apps/api/tests/test_filters.py
+++ b/pydis_site/apps/api/tests/test_filters.py
@@ -92,7 +92,7 @@ def get_test_sequences() -> Dict[str, TestSequence]:
{
"content": "bad word",
"description": "This is a really bad word.",
- "additional_field": "{'hi': 'there'}",
+ "additional_settings": "{'hi': 'there'}",
"guild_pings": None,
"filter_dm": None,
"dm_pings": None,
diff --git a/pydis_site/apps/api/tests/test_models.py b/pydis_site/apps/api/tests/test_models.py
index 25d771cc..d3341b35 100644
--- a/pydis_site/apps/api/tests/test_models.py
+++ b/pydis_site/apps/api/tests/test_models.py
@@ -113,7 +113,7 @@ class StringDunderMethodTests(SimpleTestCase):
Filter(
content="ducky_nsfw",
description="This ducky is totally inappropriate!",
- additional_field=None,
+ additional_settings=None,
),
OffensiveMessage(
id=602951077675139072,
diff --git a/pydis_site/apps/api/viewsets/bot/filters.py b/pydis_site/apps/api/viewsets/bot/filters.py
index c84da909..d6c2d18c 100644
--- a/pydis_site/apps/api/viewsets/bot/filters.py
+++ b/pydis_site/apps/api/viewsets/bot/filters.py
@@ -33,7 +33,7 @@ class FilterListViewSet(ModelViewSet):
... "updated_at": "2023-01-27T21:26:34.030532Z",
... "content": "267624335836053506",
... "description": "Python Discord",
- ... "additional_field": None,
+ ... "additional_settings": None,
... "filter_list": 1,
... "settings": {
... "bypass_roles": None,
@@ -119,7 +119,7 @@ class FilterListViewSet(ModelViewSet):
... "updated_at": "2023-01-27T21:26:34.030532Z",
... "content": "267624335836053506",
... "description": "Python Discord",
- ... "additional_field": None,
+ ... "additional_settings": None,
... "filter_list": 1,
... "settings": {
... "bypass_roles": None,
@@ -239,7 +239,7 @@ class FilterListViewSet(ModelViewSet):
... "updated_at": "2023-01-27T21:26:34.030532Z",
... "content": "267624335836053506",
... "description": "Python Discord",
- ... "additional_field": None,
+ ... "additional_settings": None,
... "filter_list": 1,
... "settings": {
... "bypass_roles": None,
@@ -334,7 +334,7 @@ class FilterViewSet(ModelViewSet):
... "updated_at": "2023-01-27T21:26:34.030532Z",
... "content": "267624335836053506",
... "description": "Python Discord",
- ... "additional_field": None,
+ ... "additional_settings": None,
... "filter_list": 1,
... "settings": {
... "bypass_roles": None,
@@ -379,7 +379,7 @@ class FilterViewSet(ModelViewSet):
... "updated_at": "2023-01-27T21:26:34.030532Z",
... "content": "267624335836053506",
... "description": "Python Discord",
- ... "additional_field": None,
+ ... "additional_settings": None,
... "filter_list": 1,
... "settings": {
... "bypass_roles": None,
@@ -420,7 +420,7 @@ class FilterViewSet(ModelViewSet):
... "filter_list": 1,
... "content": "267624335836053506",
... "description": "Python Discord",
- ... "additional_field": None,
+ ... "additional_settings": None,
... "bypass_roles": None,
... "filter_dm": None,
... "enabled": False,
@@ -454,7 +454,7 @@ class FilterViewSet(ModelViewSet):
... "updated_at": "2023-01-27T21:26:34.030532Z",
... "content": "267624335836053506",
... "description": "Python Discord",
- ... "additional_field": None,
+ ... "additional_settings": None,
... "filter_list": 1,
... "settings": {
... "bypass_roles": None,