33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
from rest_framework import serializers
|
|
|
|
from apps.logs.services import LOG_EVENTS, LOG_SECTIONS
|
|
from apps.logs.services.query import (
|
|
serialize_workspace_log_detail,
|
|
serialize_workspace_log_list_item,
|
|
)
|
|
|
|
|
|
class WorkspaceLogQuerySerializer(serializers.Serializer):
|
|
workspace = serializers.UUIDField()
|
|
section = serializers.ChoiceField(choices=LOG_SECTIONS, required=False)
|
|
actor = serializers.UUIDField(required=False)
|
|
event = serializers.ChoiceField(choices=LOG_EVENTS, required=False)
|
|
search = serializers.CharField(required=False, allow_blank=True, trim_whitespace=True)
|
|
from_date = serializers.CharField(required=False, allow_blank=True, source="from")
|
|
to_date = serializers.CharField(required=False, allow_blank=True, source="to")
|
|
ordering = serializers.ChoiceField(
|
|
choices=("timestamp", "-timestamp"),
|
|
required=False,
|
|
default="-timestamp",
|
|
)
|
|
|
|
|
|
class WorkspaceLogListSerializer(serializers.Serializer):
|
|
def to_representation(self, instance):
|
|
return serialize_workspace_log_list_item(instance)
|
|
|
|
|
|
class WorkspaceLogDetailSerializer(serializers.Serializer):
|
|
def to_representation(self, instance):
|
|
return serialize_workspace_log_detail(instance)
|