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.
32 lines
1.1 KiB
32 lines
1.1 KiB
from django.contrib.auth.models import User, Group |
|
from rest_framework import serializers |
|
from caremyway.api.models import UserInfo, Client, Provider |
|
|
|
class UserInfoSerializer(serializers.ModelSerializer): |
|
class Meta: |
|
model = UserInfo |
|
fields = ('user', 'user_type', 'phone_number') |
|
|
|
class ChosenUserInfoSerializer(UserInfoSerializer): |
|
class Meta(UserInfoSerializer.Meta): |
|
read_only_fields = ('user_type',) |
|
|
|
class ClientSerializer(serializers.ModelSerializer): |
|
class Meta: |
|
model = Client |
|
fields = ('user', 'business_number') |
|
|
|
class ProviderSerializer(serializers.ModelSerializer): |
|
class Meta: |
|
model = Provider |
|
fields = ('user', 'sin') |
|
|
|
class UserSerializer(serializers.ModelSerializer): |
|
userinfo = UserInfoSerializer(read_only=True, allow_null=True) |
|
client = ClientSerializer(allow_null=True) |
|
provider = ProviderSerializer(allow_null=True) |
|
|
|
class Meta: |
|
model = User |
|
fields = ('username', 'is_active', 'first_name', 'last_name', 'email', 'userinfo', 'client', 'provider') |
|
depth = 1
|
|
|