from rest_framework import serializers from django.contrib.auth.models import User from api.models import Accounts, ServiceDays, Stores, ServiceVisits, Projects, AccountStatus class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ['id', 'username', 'password'] extra_kwargs = {'password': {'write_only': True}} def create(self, validated_data): user = User.objects.create_user(**validated_data) return user class AccountsSerializer(serializers.ModelSerializer): class Meta: model = Accounts fields = ['full_name', 'short_name', 'street_address', 'city', 'state', 'zip_code'] class ServiceDaysSerializer(serializers.ModelSerializer): class Meta: model = ServiceDays fields = [ 'short_name', 'mon_serv', 'tues_serv', 'wed_serv', 'thurs_serv', 'fri_serv', 'sat_serv', 'sun_serv', 'weekend_serv', 'exception_serv' ] class StoresSerializer(serializers.ModelSerializer): class Meta: model = Stores fields = [ 'store', 'src', 'street_address', 'city', 'state', 'zip_code', 'phone', 'entity', 'store_contact', 'store_contact_email', 'super_contact', 'super_contact_email', 'id' ] class ServiceVisitsSerializer(serializers.ModelSerializer): full_name = serializers.CharField(source='short_name.full_name', read_only=True) class Meta: model = ServiceVisits fields = ['short_name', 'full_name', 'date', 'status', 'team_member', 'notes', 'id'] class ProjectsSerializer(serializers.ModelSerializer): city = serializers.CharField(source='store.city', read_only=True) class Meta: model = Projects fields = ['id', 'store', 'city', 'date', 'status', 'punchlist'] class AccountStatusSerializer(serializers.ModelSerializer): class Meta: model = AccountStatus fields = ['short_name', 'is_active', 'last_day', 'is_bonded', 'id']