# webapp/api/settings/serializers.py
from rest_framework import serializers
from webapp.models import master as m_master


class SettingSerializer(serializers.ModelSerializer):
    class Meta:
        model = m_master.Settings
        fields = ["_pk", "_type", "k", "v", "note"]

class SettingUpdateSerializer(serializers.Serializer):
    APPNAME = serializers.CharField(required=False)
    APPNAME_SHORT = serializers.CharField(required=False)
    PEMDA_COPYRIGHT_YEAR = serializers.CharField(required=False)
    PEMDA_ADDR = serializers.CharField(required=False)
    PEMDA_COPYRIGHT_BY = serializers.CharField(required=False)
    PEMDA_MAIL = serializers.CharField(required=False)
    PEMDA_NAME = serializers.CharField(required=False)

    # File upload
    logo = serializers.ImageField(required=False)
    site_bg = serializers.ImageField(required=False)


class AuditLogSerializer(serializers.ModelSerializer):
    user = serializers.StringRelatedField()

    class Meta:
        model = m_master.AuditLog
        fields = [
            "log_id",
            "user",
            "action",
            "content_type",
            "object_pk",
            "description",
            "timestamp",
        ]
