Guest User

Untitled

a guest
May 26th, 2025
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.67 KB | None | 0 0
  1. from rest_framework import serializers
  2. from arborfindr.models import User  
  3. from .models import Room, Messenger, Arborist, ArboristProfile, Company, CompanyProfile, Landlord, LandlordProfile
  4. from django.contrib.auth import authenticate
  5.  
  6.  
  7. class RegisterChatSerializer(serializers.ModelSerializer):
  8.     password = serializers.CharField(style={'input_type': 'password'}, write_only=True)
  9.  
  10.     class Meta:
  11.         model = User
  12.         fields = ['email', 'username', 'password']
  13.         extra_kwargs = {
  14.             'password': {'write_only': True}
  15.         }
  16.        
  17.     def validate(self, valid):
  18.         if valid['password'] != valid['password']:
  19.             raise serializers.ValidationError({"password": "Passwords do not match."})
  20.         return valid
  21.  
  22.     def create(self, validated_data):
  23.         user = User.objects.create_user(
  24.             email=validated_data['email'],
  25.             username=validated_data['username'],
  26.             password=validated_data['password']
  27.         )
  28.         return user
  29.    
  30.    
  31. class LoginChatSerializer(serializers.ModelSerializer):
  32.    
  33.     class Meta:
  34.         model = User
  35.         fields = ['email', 'username', 'password']
  36.         extra_kwargs = {
  37.             'password': {'write_only': True}
  38.         }
  39.     email = serializers.CharField(max_length=255)
  40.     password = serializers.CharField(
  41.         label =("Password"),
  42.         style={'input_type': 'password'},
  43.         trim_whitespace=False,
  44.         max_length=128,
  45.         write_only=True
  46.     )
  47.  
  48.     def validate(self, data):
  49.         email = data.get('email')
  50.         password = data.get('password')
  51.  
  52.         if email and password:
  53.             user = authenticate(request=self.context.get('request'),
  54.                                 email=email, password=password)
  55.  
  56.             if not user:
  57.                 msg = ('Invalid email/password')
  58.                 raise serializers.ValidationError(msg, code = 'Authorization')
  59.         else:
  60.             msg = ('Must include valid "email" and "password".')
  61.             raise serializers.ValidationError(msg, code = 'Authorization')
  62.  
  63.         data['user'] = user
  64.         return data
  65.    
  66.    
  67.  
  68. class RoomSerializer(serializers.ModelSerializer):
  69.    
  70.     class Meta:
  71.         model = Room
  72.         fields = ['name', 'online']
  73.        
  74.        
  75. class MessengerSerializer(serializers.ModelSerializer):
  76.    
  77.     class Meta:
  78.         model = Messenger
  79.         fields = ['content', 'timestamp']
  80.        
  81.        
  82. class ArboristSeriallizer(serializers.ModelSerializer):
  83.    
  84.     class Meta:
  85.         model = Arborist
  86.         fields = ['text']
  87.        
  88.        
  89. class ArboristProfileSerializer(serializers.ModelSerializer):
  90.    
  91.     class Meta:
  92.         model = ArboristProfile
  93.         fields = ['arborist_name', 'arborist_location', 'services_arborist', 'description',
  94.                   'size', 'arborist_logo', 'pricing']
  95.        
  96.        
  97. class PropertyManagerSerializer(serializers.ModelSerializer):
  98.    
  99.     class Meta:
  100.         model = Landlord
  101.         fields = ['text_three']
  102.  
  103.  
  104. class PropertyManagerProfileSerializer(serializers.ModelSerializer):
  105.    
  106.     class Meta:
  107.         model = LandlordProfile
  108.         fields = ['first_name', 'last_name', 'property_name', 'property_location',
  109.                   'profile_pic']
  110.  
  111.  
  112. class CompanySerializer(serializers.ModelSerializer):
  113.     class Meta:
  114.         model = Company
  115.         fields = ['text_two']
  116.  
  117.  
  118. class CompanyProfileSerializer(serializers.ModelSerializer):
  119.     class Meta:
  120.         model = CompanyProfile
  121.         fields = ['company_name', 'company_location', 'services_company', 'company_description',
  122.                   'company_size', 'company_logo', 'pricing_company']
  123.  
Advertisement
Add Comment
Please, Sign In to add comment