# Copyright (c) 2023-present Plane Software, Inc. and contributors # SPDX-License-Identifier: AGPL-3.0-only # See the LICENSE file for details. # Third Party imports from rest_framework.response import Response from rest_framework import status from rest_framework.permissions import AllowAny # Module imports from .base import BaseAPIView from plane.db.models import DeployBoard, Label class ProjectLabelsEndpoint(BaseAPIView): permission_classes = [AllowAny] def get(self, request, anchor): deploy_board = DeployBoard.objects.filter(anchor=anchor).first() if not deploy_board: return Response({"error": "Invalid anchor"}, status=status.HTTP_404_NOT_FOUND) labels = Label.objects.filter( workspace__slug=deploy_board.workspace.slug, project_id=deploy_board.project_id, ).values("id", "name", "color", "parent") return Response(labels, status=status.HTTP_200_OK)