aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/apps/api/serializers.py
diff options
context:
space:
mode:
authorGravatar D0rs4n <[email protected]>2021-12-22 18:18:22 +0100
committerGravatar D0rs4n <[email protected]>2021-12-22 18:18:22 +0100
commitaf3980fe65b997287ceaf68e53ce3ab7bf4607e5 (patch)
treebe002681c60744de18cb4b453fa5f86d9016537b /pydis_site/apps/api/serializers.py
parentPrepare FilterList and Filter models, serializers for the new filter schema (diff)
Patch Filter/FilterList's default values and add new fields
- Patch default values, so that further implementations can be performed on the bot side - Add three new fields: "send_alert", and in settings under the "server_message" field: "send_message_text", and "server_message_embed" fields. - Patch documentation, and validators accordingly. - Perform further patches, and minor corrections.
Diffstat (limited to 'pydis_site/apps/api/serializers.py')
-rw-r--r--pydis_site/apps/api/serializers.py19
1 files changed, 16 insertions, 3 deletions
diff --git a/pydis_site/apps/api/serializers.py b/pydis_site/apps/api/serializers.py
index 784f8160..30af9512 100644
--- a/pydis_site/apps/api/serializers.py
+++ b/pydis_site/apps/api/serializers.py
@@ -139,7 +139,8 @@ BASE_SETTINGS_FIELDS = (
"bypass_roles",
"filter_dm",
"enabled",
- "delete_messages"
+ "delete_messages",
+ "send_alert"
)
INFRACTION_FIELDS = ("infraction_type", "infraction_reason", "infraction_duration")
CHANNEL_SCOPE_FIELDS = (
@@ -147,6 +148,7 @@ CHANNEL_SCOPE_FIELDS = (
"disabled_categories",
"enabled_channels",
)
+SERVER_MESSAGE_FIELDS = ("server_message_text", "server_message_embed")
MENTIONS_FIELDS = ("ping_type", "dm_ping_type")
SETTINGS_FIELDS = ALWAYS_OPTIONAL_SETTINGS + REQUIRED_FOR_FILTER_LIST_SETTINGS
@@ -214,10 +216,16 @@ class FilterSerializer(ModelSerializer):
"mentions":
{
schema_field_name: getattr(instance, schema_field_name)
- for schema_field_name in MENTIONS_FIELDS}
+ for schema_field_name in MENTIONS_FIELDS
+ }
}
+ } | {
+ "server_message":
+ {
+ schema_field_name: getattr(instance, schema_field_name)
+ for schema_field_name in SERVER_MESSAGE_FIELDS
+ }
}
-
schema_base = {name: getattr(instance, name) for name in BASE_FILTER_FIELDS} | \
{"filter_list": instance.filter_list.id}
@@ -307,6 +315,11 @@ class FilterListSerializer(ModelSerializer):
schema_field_name: getattr(instance, schema_field_name)
for schema_field_name in MENTIONS_FIELDS
}
+ } | {
+ "server_message": {
+ schema_field_name: getattr(instance, schema_field_name)
+ for schema_field_name in SERVER_MESSAGE_FIELDS
+ }
}
return schema_base | {"settings": schema_settings_base | schema_settings_categories}