You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
730 B
21 lines
730 B
from rest_framework import serializers
|
|
|
|
|
|
class OnlineClassTokenCreateSerializer(serializers.Serializer):
|
|
redirect_path = serializers.CharField(required=False)
|
|
|
|
def validate_redirect_path(self, value: str) -> str:
|
|
value = value.strip()
|
|
if value and value.startswith("http"):
|
|
raise serializers.ValidationError("Redirect path must be relative to the frontend domain.")
|
|
return value
|
|
|
|
|
|
class OnlineClassTokenVerifySerializer(serializers.Serializer):
|
|
token = serializers.CharField(max_length=128)
|
|
|
|
def validate_token(self, value: str) -> str:
|
|
value = value.strip()
|
|
if not value:
|
|
raise serializers.ValidationError("Token is required.")
|
|
return value
|