aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site
diff options
context:
space:
mode:
Diffstat (limited to 'pydis_site')
-rw-r--r--pydis_site/apps/api/migrations/0080_add_aoc_tables.py1
-rw-r--r--pydis_site/apps/api/models/bot/aoc_completionist_block.py4
-rw-r--r--pydis_site/apps/api/serializers.py2
-rw-r--r--pydis_site/apps/api/viewsets/bot/aoc_completionist_block.py7
4 files changed, 11 insertions, 3 deletions
diff --git a/pydis_site/apps/api/migrations/0080_add_aoc_tables.py b/pydis_site/apps/api/migrations/0080_add_aoc_tables.py
index c58a5d29..917c5b7f 100644
--- a/pydis_site/apps/api/migrations/0080_add_aoc_tables.py
+++ b/pydis_site/apps/api/migrations/0080_add_aoc_tables.py
@@ -17,6 +17,7 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('is_blocked', models.BooleanField(default=True, help_text='Whether this user is actively being blocked from getting the AoC Completionist Role', verbose_name='Blocked')),
+ ('reason', models.TextField(help_text='The reason for the AoC Completionist Role Block.', null=True)),
('user', models.OneToOneField(help_text='The user that is blocked from getting the AoC Completionist Role', on_delete=django.db.models.deletion.CASCADE, to='api.user')),
],
bases=(pydis_site.apps.api.models.mixins.ModelReprMixin, models.Model),
diff --git a/pydis_site/apps/api/models/bot/aoc_completionist_block.py b/pydis_site/apps/api/models/bot/aoc_completionist_block.py
index a89f9760..6605cbc4 100644
--- a/pydis_site/apps/api/models/bot/aoc_completionist_block.py
+++ b/pydis_site/apps/api/models/bot/aoc_completionist_block.py
@@ -19,3 +19,7 @@ class AocCompletionistBlock(ModelReprMixin, models.Model):
"from getting the AoC Completionist Role",
verbose_name="Blocked"
)
+ reason = models.TextField(
+ null=True,
+ help_text="The reason for the AoC Completionist Role Block."
+ )
diff --git a/pydis_site/apps/api/serializers.py b/pydis_site/apps/api/serializers.py
index 0b0e4237..c97f7dba 100644
--- a/pydis_site/apps/api/serializers.py
+++ b/pydis_site/apps/api/serializers.py
@@ -259,7 +259,7 @@ class AocCompletionistBlockSerializer(ModelSerializer):
"""Metadata defined for the Django REST Framework."""
model = AocCompletionistBlock
- fields = ("user", "is_blocked")
+ fields = ("user", "is_blocked", "reason")
class AocAccountLinkSerializer(ModelSerializer):
diff --git a/pydis_site/apps/api/viewsets/bot/aoc_completionist_block.py b/pydis_site/apps/api/viewsets/bot/aoc_completionist_block.py
index c5568129..8e7d821c 100644
--- a/pydis_site/apps/api/viewsets/bot/aoc_completionist_block.py
+++ b/pydis_site/apps/api/viewsets/bot/aoc_completionist_block.py
@@ -24,6 +24,7 @@ class AocCompletionistBlockViewSet(
... {
... "user": 2,
... "is_blocked": False
+ ... "reason": "Too good to be true"
... }
... ]
@@ -36,6 +37,7 @@ class AocCompletionistBlockViewSet(
... {
... "user": 2,
... "is_blocked": False
+ ... "reason": "Too good to be true"
... }
#### Status codes
@@ -47,8 +49,9 @@ class AocCompletionistBlockViewSet(
#### Request body
>>> {
- ... 'user': int,
- ... 'is_blocked': bool
+ ... "user": int,
+ ... "is_blocked": bool
+ ... "reason": string
... }
#### Status codes