Files
2024-11-27 13:18:16 +01:00

85 lines
2.4 KiB
Python
Executable File

from rest_framework import serializers
from outbo.apps.activity_log.enums import MessageType
from outbo.apps.activity_log.models import ProductLogItem, ProjectLogItem
class BaseProductLogItemSerializer(serializers.ModelSerializer):
class Meta:
model = ProductLogItem
def get_message_type(self, instance):
t, val = str(instance.message_type).split(".", 1)
return MessageType[val].value
class ProductLogItemSerializer:
class List(BaseProductLogItemSerializer):
message_type = serializers.SerializerMethodField()
class Meta(BaseProductLogItemSerializer.Meta):
fields = [
"message",
"message_type",
"stage",
"updated_at",
"created_at",
"created_by",
]
class Create(BaseProductLogItemSerializer):
class Meta(BaseProductLogItemSerializer.Meta):
fields = ["message"]
class AfterCreate(BaseProductLogItemSerializer):
message_type = serializers.SerializerMethodField()
class Meta(BaseProductLogItemSerializer.Meta):
fields = [
"message",
"message_type",
"stage",
"updated_at",
"created_at",
"created_by",
]
class BaseProjectLogItemSerializer(serializers.ModelSerializer):
class Meta:
model = ProjectLogItem
def get_message_type(self, instance):
t, val = str(instance.message_type).split(".", 1)
return MessageType[val].value
class ProjectLogItemSerializer:
class List(BaseProjectLogItemSerializer):
message_type = serializers.SerializerMethodField()
class Meta(BaseProjectLogItemSerializer.Meta):
fields = [
"message",
"message_type",
"updated_at",
"created_at",
"created_by",
]
class Create(BaseProjectLogItemSerializer):
class Meta(BaseProjectLogItemSerializer.Meta):
fields = ["message"]
class AfterCreate(BaseProjectLogItemSerializer):
message_type = serializers.SerializerMethodField()
class Meta(BaseProjectLogItemSerializer.Meta):
fields = [
"message",
"message_type",
"updated_at",
"created_at",
"created_by",
]