Harden auth, AI tutor, payments, and subscriptions
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
from drf_spectacular.utils import extend_schema_field
|
||||
from rest_framework import serializers
|
||||
|
||||
from .models import Choice, Grade, Lesson, Question
|
||||
from .models import Grade
|
||||
|
||||
|
||||
# ---- Grades ----
|
||||
@@ -84,8 +84,13 @@ class AnswerResponseSerializer(serializers.Serializer):
|
||||
# ---- Lesson completion ----
|
||||
|
||||
class LessonCompleteRequestSerializer(serializers.Serializer):
|
||||
correctCount = serializers.IntegerField()
|
||||
totalQuestions = serializers.IntegerField()
|
||||
# 🔒 اصلاح امنیتی: قبلاً هیچ محدودیتی روی این دو فیلد نبود؛ کلاینت
|
||||
# میتونست correctCount منفی یا totalQuestions صفر/منفی بفرسته.
|
||||
# min_value ها فقط شرطِ سادهی «غیرمنفی/مثبت» رو تضمین میکنن؛ چکِ
|
||||
# اصلیِ «correctCount نباید از تعدادِ واقعیِ سوالهای درس بیشتر باشه»
|
||||
# در LessonCompleteView (جایی که به Lesson دسترسی داریم) انجام میشه.
|
||||
correctCount = serializers.IntegerField(min_value=0)
|
||||
totalQuestions = serializers.IntegerField(min_value=1)
|
||||
|
||||
|
||||
class LessonCompleteResponseSerializer(serializers.Serializer):
|
||||
|
||||
Reference in New Issue
Block a user