from rest_framework import serializers

from .models import AuthEventLog, AuditLog


class AuthEventLogSerializer(serializers.ModelSerializer):
    user_email = serializers.EmailField(source="user.email", read_only=True, default=None)

    class Meta:
        model = AuthEventLog
        fields = ["id", "user", "user_email", "event_type", "ip_address", "user_agent", "device_fingerprint", "created_at"]


class AuditLogSerializer(serializers.ModelSerializer):
    user_email = serializers.EmailField(source="user.email", read_only=True, default="system")
    user_name = serializers.CharField(source="user.full_name", read_only=True, default="System")

    class Meta:
        model = AuditLog
        fields = ["id", "user", "user_email", "user_name", "action", "description", "ip_address", "created_at"]
