feat(reaction): 新增 reaction app 与数据模型

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-06 01:36:06 -06:00
parent ff593f0b60
commit b80145f2b6
9 changed files with 81 additions and 0 deletions

18
reaction/serializers.py Normal file
View File

@@ -0,0 +1,18 @@
from reaction.models import ReactionType
from utils.api import serializers
MAX_REACTIONS = 3
class SetReactionSerializer(serializers.Serializer):
problem_id = serializers.IntegerField()
types = serializers.ListField(
child=serializers.ChoiceField(choices=ReactionType.choices),
allow_empty=True,
)
def validate_types(self, value):
unique = list(dict.fromkeys(value))
if len(unique) > MAX_REACTIONS:
raise serializers.ValidationError(f"最多只能选 {MAX_REACTIONS}")
return unique