feat(logs): add workspace activity log api
This commit is contained in:
32
apps/logs/api/serializers.py
Normal file
32
apps/logs/api/serializers.py
Normal file
@@ -0,0 +1,32 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user