This commit is contained in:
2026-08-24 15:54:08 +03:30
commit 236002a87c
133 changed files with 5946 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
from rest_framework import serializers
from apps.account.models import phone_validator
class RequestOTPSerializer(serializers.Serializer):
phone = serializers.CharField(max_length=15, required=True, label="شماره موبایل")
referral_code = serializers.CharField(max_length=8, required=False, allow_blank=True, label="کد معرف")
def validate_phone(self, value):
phone_validator(value)
return value
class VerifyOTPSerializer(serializers.Serializer):
phone = serializers.CharField(max_length=15, required=True, label="شماره موبایل")
otp = serializers.CharField(max_length=6, required=True, label="کد تایید")
def validate_phone(self, value):
phone_validator(value)
return value
def validate(self, attrs):
from .services import UserService
user = UserService.verify_user(attrs["phone"], attrs["otp"])
attrs["user"] = user
return attrs
class LogoutSerializer(serializers.Serializer):
refresh = serializers.CharField(required=True, label="توکن رفرش")
class ConfirmWithOTPSerializer(serializers.Serializer):
otp = serializers.CharField(max_length=6, required=True, label="کد تایید")
class ProfileUpdateSerializer(serializers.Serializer):
name = serializers.CharField(max_length=100, allow_blank=True, required=False)