aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site
diff options
context:
space:
mode:
Diffstat (limited to 'pydis_site')
-rw-r--r--pydis_site/apps/api/migrations/0057_create_new_filterlist_model.py (renamed from pydis_site/apps/api/migrations/0057_create_new_allowdenylist_model.py)6
-rw-r--r--pydis_site/apps/api/models/__init__.py2
-rw-r--r--pydis_site/apps/api/models/bot/__init__.py2
-rw-r--r--pydis_site/apps/api/models/bot/filter_list.py (renamed from pydis_site/apps/api/models/bot/allow_deny_list.py)12
-rw-r--r--pydis_site/apps/api/serializers.py10
-rw-r--r--pydis_site/apps/api/tests/test_filterlists.py (renamed from pydis_site/apps/api/tests/test_allowlists.py)18
-rw-r--r--pydis_site/apps/api/urls.py7
-rw-r--r--pydis_site/apps/api/viewsets/__init__.py2
-rw-r--r--pydis_site/apps/api/viewsets/bot/__init__.py2
-rw-r--r--pydis_site/apps/api/viewsets/bot/filter_list.py (renamed from pydis_site/apps/api/viewsets/bot/allow_deny_list.py)34
10 files changed, 47 insertions, 48 deletions
diff --git a/pydis_site/apps/api/migrations/0057_create_new_allowdenylist_model.py b/pydis_site/apps/api/migrations/0057_create_new_filterlist_model.py
index ab8c5f3f..44025ee8 100644
--- a/pydis_site/apps/api/migrations/0057_create_new_allowdenylist_model.py
+++ b/pydis_site/apps/api/migrations/0057_create_new_filterlist_model.py
@@ -11,7 +11,7 @@ class Migration(migrations.Migration):
operations = [
migrations.CreateModel(
- name='AllowDenyList',
+ name='FilterList',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True)),
@@ -27,7 +27,7 @@ class Migration(migrations.Migration):
bases=(pydis_site.apps.api.models.mixins.ModelReprMixin, models.Model),
),
migrations.AddConstraint(
- model_name='allowdenylist',
- constraint=models.UniqueConstraint(fields=('content', 'type'), name='unique_allow_deny_list'),
+ model_name='filterlist',
+ constraint=models.UniqueConstraint(fields=('content', 'type'), name='unique_filter_list'),
)
]
diff --git a/pydis_site/apps/api/models/__init__.py b/pydis_site/apps/api/models/__init__.py
index 34973a8d..1d0ab7ea 100644
--- a/pydis_site/apps/api/models/__init__.py
+++ b/pydis_site/apps/api/models/__init__.py
@@ -1,6 +1,6 @@
# flake8: noqa
from .bot import (
- AllowDenyList,
+ FilterList,
BotSetting,
DocumentationLink,
DeletedMessage,
diff --git a/pydis_site/apps/api/models/bot/__init__.py b/pydis_site/apps/api/models/bot/__init__.py
index 1234b35a..efd98184 100644
--- a/pydis_site/apps/api/models/bot/__init__.py
+++ b/pydis_site/apps/api/models/bot/__init__.py
@@ -1,5 +1,5 @@
# flake8: noqa
-from .allow_deny_list import AllowDenyList
+from .filter_list import FilterList
from .bot_setting import BotSetting
from .deleted_message import DeletedMessage
from .documentation_link import DocumentationLink
diff --git a/pydis_site/apps/api/models/bot/allow_deny_list.py b/pydis_site/apps/api/models/bot/filter_list.py
index e1e09a78..d279e137 100644
--- a/pydis_site/apps/api/models/bot/allow_deny_list.py
+++ b/pydis_site/apps/api/models/bot/filter_list.py
@@ -3,11 +3,11 @@ from django.db import models
from pydis_site.apps.api.models.mixins import ModelReprMixin, ModelTimestampMixin
-class AllowDenyList(ModelTimestampMixin, ModelReprMixin, models.Model):
+class FilterList(ModelTimestampMixin, ModelReprMixin, models.Model):
"""An item that is either allowed or denied."""
- AllowDenyListType = models.TextChoices(
- 'AllowDenyListType',
+ FilterListType = models.TextChoices(
+ 'FilterListType',
'GUILD_INVITE '
'FILE_FORMAT '
'DOMAIN_NAME '
@@ -16,7 +16,7 @@ class AllowDenyList(ModelTimestampMixin, ModelReprMixin, models.Model):
type = models.CharField(
max_length=50,
help_text="The type of allowlist this is on.",
- choices=AllowDenyListType.choices,
+ choices=FilterListType.choices,
)
allowed = models.BooleanField(
help_text="Whether this item is on the allowlist or the denylist."
@@ -32,10 +32,10 @@ class AllowDenyList(ModelTimestampMixin, ModelReprMixin, models.Model):
class Meta:
"""Metaconfig for this model."""
- # This constraint ensures only one allow or denylist with the
+ # This constraint ensures only one filterlist with the
# same content can exist. This means that we cannot have both an allow
# and a deny for the same item, and we cannot have duplicates of the
# same item.
constraints = [
- models.UniqueConstraint(fields=['content', 'type'], name='unique_allow_deny_list'),
+ models.UniqueConstraint(fields=['content', 'type'], name='unique_filter_list'),
]
diff --git a/pydis_site/apps/api/serializers.py b/pydis_site/apps/api/serializers.py
index 50f27f1d..8fd40da7 100644
--- a/pydis_site/apps/api/serializers.py
+++ b/pydis_site/apps/api/serializers.py
@@ -4,10 +4,10 @@ from rest_framework.validators import UniqueTogetherValidator
from rest_framework_bulk import BulkSerializerMixin
from .models import (
- AllowDenyList,
BotSetting,
DeletedMessage,
DocumentationLink,
+ FilterList,
Infraction,
LogEntry,
MessageDeletionContext,
@@ -17,7 +17,7 @@ from .models import (
Reminder,
Role,
Tag,
- User,
+ User
)
@@ -104,13 +104,13 @@ class DocumentationLinkSerializer(ModelSerializer):
fields = ('package', 'base_url', 'inventory_url')
-class AllowDenyListSerializer(ModelSerializer):
- """A class providing (de-)serialization of `AllowDenyList` instances."""
+class FilterListSerializer(ModelSerializer):
+ """A class providing (de-)serialization of `FilterList` instances."""
class Meta:
"""Metadata defined for the Django REST Framework."""
- model = AllowDenyList
+ model = FilterList
fields = ('id', 'created_at', 'updated_at', 'type', 'allowed', 'content', 'comment')
diff --git a/pydis_site/apps/api/tests/test_allowlists.py b/pydis_site/apps/api/tests/test_filterlists.py
index fd8772d0..b577c31c 100644
--- a/pydis_site/apps/api/tests/test_allowlists.py
+++ b/pydis_site/apps/api/tests/test_filterlists.py
@@ -1,9 +1,9 @@
from django_hosts.resolvers import reverse
-from pydis_site.apps.api.models import AllowDenyList
+from pydis_site.apps.api.models import FilterList
from pydis_site.apps.api.tests.base import APISubdomainTestCase
-URL = reverse('bot:allowdenylist-list', host='api')
+URL = reverse('bot:filterlist-list', host='api')
JPEG_ALLOWLIST = {
"type": 'FILE_FORMAT',
"allowed": True,
@@ -38,8 +38,8 @@ class EmptyDatabaseTests(APISubdomainTestCase):
class FetchTests(APISubdomainTestCase):
@classmethod
def setUpTestData(cls):
- cls.jpeg_format = AllowDenyList.objects.create(**JPEG_ALLOWLIST)
- cls.png_format = AllowDenyList.objects.create(**PNG_ALLOWLIST)
+ cls.jpeg_format = FilterList.objects.create(**JPEG_ALLOWLIST)
+ cls.png_format = FilterList.objects.create(**PNG_ALLOWLIST)
def test_returns_name_in_list(self):
response = self.client.get(URL)
@@ -54,11 +54,11 @@ class FetchTests(APISubdomainTestCase):
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json().get("content"), self.jpeg_format.content)
- def test_returns_allow_deny_list_types(self):
- response = self.client.get(f'{URL}/get_types')
+ def test_returns_filter_list_types(self):
+ response = self.client.get(f'{URL}/get-types')
self.assertEqual(response.status_code, 200)
- for api_type, model_type in zip(response.json(), AllowDenyList.AllowDenyListType.choices):
+ for api_type, model_type in zip(response.json(), FilterList.FilterListType.choices):
self.assertEquals(api_type[0], model_type[0])
self.assertEquals(api_type[1], model_type[1])
@@ -92,8 +92,8 @@ class CreationTests(APISubdomainTestCase):
class DeletionTests(APISubdomainTestCase):
@classmethod
def setUpTestData(cls):
- cls.jpeg_format = AllowDenyList.objects.create(**JPEG_ALLOWLIST)
- cls.png_format = AllowDenyList.objects.create(**PNG_ALLOWLIST)
+ cls.jpeg_format = FilterList.objects.create(**JPEG_ALLOWLIST)
+ cls.png_format = FilterList.objects.create(**PNG_ALLOWLIST)
def test_deleting_unknown_id_returns_404(self):
response = self.client.delete(f"{URL}/200")
diff --git a/pydis_site/apps/api/urls.py b/pydis_site/apps/api/urls.py
index b6ed2914..a4fd5b2e 100644
--- a/pydis_site/apps/api/urls.py
+++ b/pydis_site/apps/api/urls.py
@@ -3,10 +3,10 @@ from rest_framework.routers import DefaultRouter
from .views import HealthcheckView, RulesView
from .viewsets import (
- AllowDenyListViewSet,
BotSettingViewSet,
DeletedMessageViewSet,
DocumentationLinkViewSet,
+ FilterListViewSet,
InfractionViewSet,
LogEntryViewSet,
NominationViewSet,
@@ -18,12 +18,11 @@ from .viewsets import (
UserViewSet
)
-
# http://www.django-rest-framework.org/api-guide/routers/#defaultrouter
bot_router = DefaultRouter(trailing_slash=False)
bot_router.register(
- 'allow_deny_lists',
- AllowDenyListViewSet
+ 'filter-lists',
+ FilterListViewSet
)
bot_router.register(
'bot-settings',
diff --git a/pydis_site/apps/api/viewsets/__init__.py b/pydis_site/apps/api/viewsets/__init__.py
index eb7d5098..8699517e 100644
--- a/pydis_site/apps/api/viewsets/__init__.py
+++ b/pydis_site/apps/api/viewsets/__init__.py
@@ -1,6 +1,6 @@
# flake8: noqa
from .bot import (
- AllowDenyListViewSet,
+ FilterListViewSet,
BotSettingViewSet,
DeletedMessageViewSet,
DocumentationLinkViewSet,
diff --git a/pydis_site/apps/api/viewsets/bot/__init__.py b/pydis_site/apps/api/viewsets/bot/__init__.py
index 11638dd8..e64e3988 100644
--- a/pydis_site/apps/api/viewsets/bot/__init__.py
+++ b/pydis_site/apps/api/viewsets/bot/__init__.py
@@ -1,5 +1,5 @@
# flake8: noqa
-from .allow_deny_list import AllowDenyListViewSet
+from .filter_list import FilterListViewSet
from .bot_setting import BotSettingViewSet
from .deleted_message import DeletedMessageViewSet
from .documentation_link import DocumentationLinkViewSet
diff --git a/pydis_site/apps/api/viewsets/bot/allow_deny_list.py b/pydis_site/apps/api/viewsets/bot/filter_list.py
index 6ea8da56..2cb21ab9 100644
--- a/pydis_site/apps/api/viewsets/bot/allow_deny_list.py
+++ b/pydis_site/apps/api/viewsets/bot/filter_list.py
@@ -3,17 +3,17 @@ from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.viewsets import ModelViewSet
-from pydis_site.apps.api.models.bot.allow_deny_list import AllowDenyList
-from pydis_site.apps.api.serializers import AllowDenyListSerializer
+from pydis_site.apps.api.models.bot.filter_list import FilterList
+from pydis_site.apps.api.serializers import FilterListSerializer
-class AllowDenyListViewSet(ModelViewSet):
+class FilterListViewSet(ModelViewSet):
"""
View providing CRUD operations on items allowed or denied by our bot.
## Routes
- ### GET /bot/allow_deny_lists
- Returns all allow and denylist items in the database.
+ ### GET /bot/filter-lists
+ Returns all filterlist items in the database.
#### Response format
>>> [
@@ -33,8 +33,8 @@ class AllowDenyListViewSet(ModelViewSet):
- 200: returned on success
- 401: returned if unauthenticated
- ### GET /bot/allow_deny_lists/<id:int>
- Returns a specific AllowDenyList item from the database.
+ ### GET /bot/filter-lists/<id:int>
+ Returns a specific FilterList item from the database.
#### Response format
>>> {
@@ -51,7 +51,7 @@ class AllowDenyListViewSet(ModelViewSet):
- 200: returned on success
- 404: returned if the id was not found.
- ### GET /bot/allow_deny_lists/get_types
+ ### GET /bot/filter-lists/get-types
Returns a list of valid list types that can be used in POST requests.
#### Response format
@@ -65,8 +65,8 @@ class AllowDenyListViewSet(ModelViewSet):
#### Status codes
- 200: returned on success
- ### POST /bot/allow_deny_lists
- Adds a single AllowDenyList item to the database.
+ ### POST /bot/filter-lists
+ Adds a single FilterList item to the database.
#### Request body
>>> {
@@ -80,18 +80,18 @@ class AllowDenyListViewSet(ModelViewSet):
- 201: returned on success
- 400: if one of the given fields is invalid
- ### DELETE /bot/allow_deny_lists/<id:int>
- Deletes the AllowDenyList item with the given `id`.
+ ### DELETE /bot/filter-lists/<id:int>
+ Deletes the FilterList item with the given `id`.
#### Status codes
- 204: returned on success
- 404: if a tag with the given `id` does not exist
"""
- serializer_class = AllowDenyListSerializer
- queryset = AllowDenyList.objects.all()
+ serializer_class = FilterListSerializer
+ queryset = FilterList.objects.all()
- @action(detail=False, methods=["get"])
+ @action(detail=False, url_path='get-types', methods=["get"])
def get_types(self, _: Request) -> Response:
- """Get a list of all the types of AllowDenyLists we support."""
- return Response(AllowDenyList.AllowDenyListType.choices)
+ """Get a list of all the types of FilterLists we support."""
+ return Response(FilterList.FilterListType.choices)