refactor(submission): 删掉提交接口里走不到的验证码分支
captcha 在 CreateSubmissionSerializer 里是 required=False,视图里只有
data.get("captcha") 为真才校验,而前端只在注册表单发验证码,提交代码这
条路径从来不传,分支永远进不去。
验证码现在只服务注册流程。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -39,7 +39,6 @@ class CreateSubmissionSerializer(serializers.Serializer):
|
|||||||
code = serializers.CharField(max_length=1024 * 1024)
|
code = serializers.CharField(max_length=1024 * 1024)
|
||||||
contest_id = serializers.IntegerField(required=False)
|
contest_id = serializers.IntegerField(required=False)
|
||||||
problemset_id = serializers.IntegerField(required=False)
|
problemset_id = serializers.IntegerField(required=False)
|
||||||
captcha = serializers.CharField(required=False)
|
|
||||||
|
|
||||||
|
|
||||||
class ShareSubmissionSerializer(serializers.Serializer):
|
class ShareSubmissionSerializer(serializers.Serializer):
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ from options.options import SysOptions
|
|||||||
from problem.models import Problem
|
from problem.models import Problem
|
||||||
from utils.api import APIView, AsyncAPIView, validate_serializer
|
from utils.api import APIView, AsyncAPIView, validate_serializer
|
||||||
from utils.cache import cache
|
from utils.cache import cache
|
||||||
from utils.captcha import Captcha
|
|
||||||
from utils.throttling import TokenBucket
|
from utils.throttling import TokenBucket
|
||||||
|
|
||||||
from ..models import Submission
|
from ..models import Submission
|
||||||
@@ -66,9 +65,6 @@ class SubmissionAPI(AsyncAPIView):
|
|||||||
if not contest.problem_details_permission(request.user):
|
if not contest.problem_details_permission(request.user):
|
||||||
hide_id = True
|
hide_id = True
|
||||||
|
|
||||||
if data.get("captcha"):
|
|
||||||
if not Captcha(request).check(data["captcha"]):
|
|
||||||
return self.error("Invalid captcha")
|
|
||||||
error = await sync_to_async(self.throttling)(request)
|
error = await sync_to_async(self.throttling)(request)
|
||||||
if error:
|
if error:
|
||||||
return self.error(error)
|
return self.error(error)
|
||||||
|
|||||||
Reference in New Issue
Block a user