from rest_framework import serializers from .models import JobApplication, JobUpdate class JobUpdateSerializer(serializers.ModelSerializer): company_name = serializers.CharField(source="job_application.company_name", read_only=True) position_title = serializers.CharField(source="job_application.position_title", read_only=True) job_id = serializers.IntegerField(source="job_application.id", read_only=True) class Meta: model = JobUpdate fields = [ "id", "job_id", "company_name", "position_title", "from_status", "to_status", "notes", "created_at", "metrics", ] class JobApplicationSerializer(serializers.ModelSerializer): class Meta: model = JobApplication fields = [ "id", "company_name", "position_title", "status", "notes", "created_at", "updated_at", ] class DashboardMetricsSerializer(serializers.Serializer): total_applications = serializers.IntegerField() status_breakdown = serializers.DictField(child=serializers.IntegerField()) interviews_count = serializers.IntegerField() offers_count = serializers.IntegerField() rejection_rate = serializers.FloatField()