* dev: remove len for empty comparison * dev: using in instead of multiple ors * dev: assign expression to empty variables * dev: use f-string * dev: remove list comprehension and use generators * dev: remove assert from paginator * dev: use is for identity comparison with singleton * dev: remove unnecessary else statements * dev: fix does not exists error for both project and workspace * dev: remove reimports * dev: iterate a dictionary * dev: remove unused commented code * dev: remove redefinition * dev: remove unused imports * dev: remove unused imports * dev: remove unnecessary f strings * dev: remove unused variables * dev: use literal structure to create the data structure * dev: add empty lines at the end of the file * dev: remove user middleware * dev: remove unnecessary default None
30 lines
1 KiB
Python
30 lines
1 KiB
Python
from .base import BaseSerializer
|
|
from plane.db.models import AnalyticView
|
|
from plane.utils.issue_filters import issue_filters
|
|
|
|
|
|
class AnalyticViewSerializer(BaseSerializer):
|
|
class Meta:
|
|
model = AnalyticView
|
|
fields = "__all__"
|
|
read_only_fields = [
|
|
"workspace",
|
|
"query",
|
|
]
|
|
|
|
def create(self, validated_data):
|
|
query_params = validated_data.get("query_dict", {})
|
|
if bool(query_params):
|
|
validated_data["query"] = issue_filters(query_params, "POST")
|
|
else:
|
|
validated_data["query"] = {}
|
|
return AnalyticView.objects.create(**validated_data)
|
|
|
|
def update(self, instance, validated_data):
|
|
query_params = validated_data.get("query_data", {})
|
|
if bool(query_params):
|
|
validated_data["query"] = issue_filters(query_params, "POST")
|
|
else:
|
|
validated_data["query"] = {}
|
|
validated_data["query"] = issue_filters(query_params, "PATCH")
|
|
return super().update(instance, validated_data)
|