gold eggs backend
Some checks failed
Build and Push to Docker Hub / build-test-push (push) Failing after 1m55s
Some checks failed
Build and Push to Docker Hub / build-test-push (push) Failing after 1m55s
This commit is contained in:
4
core/http/serializers/__init__.py
Normal file
4
core/http/serializers/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
||||
from .another import * # noqa
|
||||
from .auth import * # noqa
|
||||
from .generics import * # noqa
|
||||
from .user import * # noqa
|
||||
15
core/http/serializers/another.py
Normal file
15
core/http/serializers/another.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from core.http import models
|
||||
|
||||
|
||||
class PostSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = models.Post
|
||||
fields = ["title", "desc", "image"]
|
||||
|
||||
|
||||
class FrontendTransactionSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = models.FrontendTranslation
|
||||
fields = ["key", "value"]
|
||||
66
core/http/serializers/auth.py
Normal file
66
core/http/serializers/auth.py
Normal file
@@ -0,0 +1,66 @@
|
||||
from django.utils.translation import gettext as _
|
||||
from rest_framework import exceptions, serializers
|
||||
|
||||
from core.http import models
|
||||
|
||||
|
||||
class LoginSerializer(serializers.Serializer):
|
||||
username = serializers.CharField(max_length=255)
|
||||
password = serializers.CharField(max_length=255)
|
||||
|
||||
|
||||
class RegisterSerializer(serializers.ModelSerializer):
|
||||
phone = serializers.CharField(max_length=255)
|
||||
|
||||
def validate_phone(self, value):
|
||||
user = models.User.objects.filter(
|
||||
phone=value, validated_at__isnull=False
|
||||
)
|
||||
if user.exists():
|
||||
return exceptions.ValidationError(
|
||||
_("Telefon raqami allaqachon ro'yxatdan o'tgan."),
|
||||
code="unique",
|
||||
)
|
||||
return value
|
||||
|
||||
class Meta:
|
||||
model = models.User
|
||||
fields = ["first_name", "last_name", "phone", "password"]
|
||||
extra_kwargs = {
|
||||
"first_name": {
|
||||
"required": True,
|
||||
},
|
||||
"last_name": {"required": True},
|
||||
}
|
||||
|
||||
|
||||
class ConfirmSerializer(serializers.Serializer):
|
||||
code = serializers.IntegerField(min_value=1000, max_value=9999)
|
||||
phone = serializers.CharField(max_length=255)
|
||||
|
||||
|
||||
class ResetPasswordSerializer(serializers.Serializer):
|
||||
phone = serializers.CharField(max_length=255)
|
||||
|
||||
def validate_phone(self, value):
|
||||
user = models.User.objects.filter(phone=value)
|
||||
if user.exists():
|
||||
return value
|
||||
|
||||
raise serializers.ValidationError(_("Foydalanuvchi mavjud emas"))
|
||||
|
||||
|
||||
class ResetConfirmationSerializer(serializers.Serializer):
|
||||
code = serializers.IntegerField(min_value=1000, max_value=9999)
|
||||
phone = serializers.CharField(max_length=255)
|
||||
password = serializers.CharField(max_length=255)
|
||||
|
||||
def validate_phone(self, value):
|
||||
user = models.User.objects.filter(phone=value)
|
||||
if user.exists():
|
||||
return value
|
||||
raise serializers.ValidationError(_("User does not exist"))
|
||||
|
||||
|
||||
class ResendSerializer(serializers.Serializer):
|
||||
phone = serializers.CharField(max_length=255)
|
||||
17
core/http/serializers/generics.py
Normal file
17
core/http/serializers/generics.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from rest_framework import exceptions
|
||||
from rest_framework import serializers
|
||||
|
||||
|
||||
from core import enums
|
||||
from core.utils import exception
|
||||
|
||||
|
||||
class GenericSerializer(serializers.Serializer):
|
||||
def to_internal_value(self, data):
|
||||
try:
|
||||
return super().to_internal_value(data)
|
||||
except exceptions.ValidationError as e:
|
||||
key, value = next(iter(e.detail.items()))
|
||||
exception.ResponseException(
|
||||
value[0], error_code=enums.Codes.INVALID_PARAMETER_VALUE
|
||||
)
|
||||
35
core/http/serializers/user.py
Normal file
35
core/http/serializers/user.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from core.http import models
|
||||
|
||||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = models.User
|
||||
fields = (
|
||||
"id",
|
||||
"first_name",
|
||||
"last_name",
|
||||
"phone",
|
||||
"email",
|
||||
"role",
|
||||
"username",
|
||||
"avatar",
|
||||
)
|
||||
|
||||
|
||||
class UserUpdateSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = models.User
|
||||
fields = (
|
||||
"first_name",
|
||||
"last_name",
|
||||
"username",
|
||||
"phone",
|
||||
)
|
||||
|
||||
|
||||
class UserAvatarUpdateSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = models.User
|
||||
fields = ("avatar",)
|
||||
Reference in New Issue
Block a user