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", ]