added endpoints for user profile
This commit is contained in:
parent
dd99c395a0
commit
6f4282d96e
4 changed files with 138 additions and 5 deletions
|
|
@ -1,6 +1,10 @@
|
|||
from rest_framework import serializers
|
||||
from .models import Prediction, SavedPoint, SavedRateProfile, PreditctionTemplate
|
||||
from datetime import datetime
|
||||
from django.contrib.auth.password_validation import validate_password
|
||||
from django.core.validators import validate_email
|
||||
from django.core.exceptions import ValidationError as DjangoValidationError
|
||||
from django.contrib.auth import get_user_model
|
||||
from .validators import (
|
||||
validate_custom_curve, rate_clip,
|
||||
_rfc3339_to_timestamp, base64_to_curve
|
||||
|
|
@ -11,6 +15,7 @@ class PredictionSerializer(serializers.ModelSerializer):
|
|||
model = Prediction
|
||||
fields = ['id', 'created_at', 'updated_at', 'result']
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
PROFILE_STANDARD = "standard_profile"
|
||||
PROFILE_FLOAT = "float_profile"
|
||||
|
|
@ -151,3 +156,30 @@ class PreditctionTemplateSerializer(serializers.ModelSerializer):
|
|||
model = PreditctionTemplate
|
||||
fields = ['id', 'name', 'template_data', 'is_default']
|
||||
read_only_fields = ['id']
|
||||
|
||||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ['username', 'email', 'first_name', 'last_name']
|
||||
extra_kwargs = {
|
||||
'username': {'read_only': True}
|
||||
}
|
||||
|
||||
def validate_email(self, value):
|
||||
try:
|
||||
validate_email(value)
|
||||
except DjangoValidationError:
|
||||
raise serializers.ValidationError("Invalid email format")
|
||||
return value
|
||||
|
||||
class ChangePasswordSerializer(serializers.Serializer):
|
||||
old_password = serializers.CharField(required=True)
|
||||
new_password = serializers.CharField(required=True)
|
||||
|
||||
def validate_new_password(self, value):
|
||||
validate_password(value)
|
||||
return value
|
||||
|
||||
class DeleteAccountSerializer(serializers.Serializer):
|
||||
password = serializers.CharField(required=True)
|
||||
Loading…
Add table
Add a link
Reference in a new issue