from django.shortcuts import get_object_or_404 from rest_framework.decorators import api_view from rest_framework.request import Request from rest_framework.response import Response from taskbar.models import Workplace from .serializers import (ProcessSerializer, SourceSerializer, SubProcessSerializer) @api_view(['GET']) def sourve_view(request: Request, hostname: str) -> Response: workplace = get_object_or_404(Workplace, hostname=hostname) process = ProcessSerializer(workplace.process.all(), many=True).data sub_process = SubProcessSerializer(workplace.sub_process.all(), many=True).data sources_data = SourceSerializer(workplace.sources.all(), many=True).data no_process = {'id': 0, 'name': 'NO_PROCESS', 'sources': sources_data} process.extend(sub_process) #type: ignore process.append(no_process) #type: ignore return Response(process, 200)