🐛(backend) enforce emoji validation for reactions

Validate emojis in ReactionSerializer (previously accepted
any string), preventing multiple emojis or text uploads in
a single reaction
    
Signed-off-by: Mohamed El Amine BOUKERFA <boukerfa.ma@gmail.com>
This commit is contained in:
Mohamed El Amine BOUKERFA
2026-04-28 13:10:04 +00:00
committed by GitHub
parent 394fbc5537
commit 37091ca804
5 changed files with 81 additions and 13 deletions
+7
View File
@@ -13,6 +13,7 @@ from django.utils.functional import lazy
from django.utils.text import slugify
from django.utils.translation import gettext_lazy as _
import emoji
import magic
from rest_framework import serializers
@@ -875,6 +876,12 @@ class ReactionSerializer(serializers.ModelSerializer):
]
read_only_fields = ["id", "created_at", "users"]
def validate_emoji(self, value):
"""Ensure the reaction is a single emoji."""
if not emoji.is_emoji(value):
raise serializers.ValidationError("Reaction must be a single valid emoji.")
return value
class CommentSerializer(serializers.ModelSerializer):
"""Serialize comments (nested under a thread) with reactions and abilities."""