nexus-1/api/serializers.py
2026-01-26 09:45:31 -05:00

62 lines
2.0 KiB
Python

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']