forked from github/plane
* chore: return workspace details on project create and update * chore: update endpoints to return workspace and project details --------- Co-authored-by: Vamsi Kurama <vamsi.kurama@gmail.com>
61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
# Third party imports
|
|
from rest_framework import serializers
|
|
|
|
# Module imports
|
|
from .base import BaseSerializer
|
|
from .user import UserLiteSerializer
|
|
from .issue import IssueStateSerializer
|
|
from .workspace import WorkspaceLiteSerializer
|
|
from .project import ProjectLiteSerializer
|
|
from plane.db.models import Cycle, CycleIssue, CycleFavorite
|
|
|
|
|
|
class CycleSerializer(BaseSerializer):
|
|
owned_by = UserLiteSerializer(read_only=True)
|
|
is_favorite = serializers.BooleanField(read_only=True)
|
|
total_issues = serializers.IntegerField(read_only=True)
|
|
cancelled_issues = serializers.IntegerField(read_only=True)
|
|
completed_issues = serializers.IntegerField(read_only=True)
|
|
started_issues = serializers.IntegerField(read_only=True)
|
|
unstarted_issues = serializers.IntegerField(read_only=True)
|
|
backlog_issues = serializers.IntegerField(read_only=True)
|
|
|
|
workspace_detail = WorkspaceLiteSerializer(read_only=True, source="workspace")
|
|
project_detail = ProjectLiteSerializer(read_only=True, source="project")
|
|
|
|
class Meta:
|
|
model = Cycle
|
|
fields = "__all__"
|
|
read_only_fields = [
|
|
"workspace",
|
|
"project",
|
|
"owned_by",
|
|
]
|
|
|
|
|
|
class CycleIssueSerializer(BaseSerializer):
|
|
issue_detail = IssueStateSerializer(read_only=True, source="issue")
|
|
sub_issues_count = serializers.IntegerField(read_only=True)
|
|
|
|
class Meta:
|
|
model = CycleIssue
|
|
fields = "__all__"
|
|
read_only_fields = [
|
|
"workspace",
|
|
"project",
|
|
"cycle",
|
|
]
|
|
|
|
|
|
class CycleFavoriteSerializer(BaseSerializer):
|
|
cycle_detail = CycleSerializer(source="cycle", read_only=True)
|
|
|
|
class Meta:
|
|
model = CycleFavorite
|
|
fields = "__all__"
|
|
read_only_fields = [
|
|
"workspace",
|
|
"project",
|
|
"user",
|
|
]
|