feat(reports): add localized workspace reports and exports
This commit is contained in:
39
apps/reports/api/serializers.py
Normal file
39
apps/reports/api/serializers.py
Normal file
@@ -0,0 +1,39 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from apps.reports.models import ReportExportJob
|
||||
from apps.reports.services.aggregation import ALLOWED_PERIODS
|
||||
|
||||
|
||||
class ReportExportCreateSerializer(serializers.Serializer):
|
||||
workspace = serializers.UUIDField()
|
||||
period = serializers.ChoiceField(choices=sorted(ALLOWED_PERIODS))
|
||||
from_date = serializers.DateField(required=False, allow_null=True)
|
||||
to_date = serializers.DateField(required=False, allow_null=True)
|
||||
user = serializers.UUIDField(required=False, allow_null=True)
|
||||
client = serializers.UUIDField(required=False, allow_null=True)
|
||||
project = serializers.UUIDField(required=False, allow_null=True)
|
||||
tags = serializers.ListField(
|
||||
child=serializers.UUIDField(),
|
||||
required=False,
|
||||
allow_empty=True,
|
||||
)
|
||||
language = serializers.ChoiceField(choices=("en", "fa"), required=False, default="en")
|
||||
export_type = serializers.ChoiceField(choices=ReportExportJob.ExportType.choices)
|
||||
|
||||
|
||||
class ReportExportJobSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = ReportExportJob
|
||||
fields = (
|
||||
"id",
|
||||
"workspace",
|
||||
"export_type",
|
||||
"status",
|
||||
"filters",
|
||||
"file_name",
|
||||
"error_message",
|
||||
"expires_at",
|
||||
"completed_at",
|
||||
"created_at",
|
||||
)
|
||||
read_only_fields = fields
|
||||
Reference in New Issue
Block a user