from rest_framework.views import APIView
from rest_framework.response import Response

from apps.calls.serializers import CallSettingsSerializer
from apps.permissions.permissions import CompanyPermission


class CallSettingsView(APIView):
    def get_permissions(self):
        return [CompanyPermission('view_company')]

    def get(self, request):
        user = request.user
        company = getattr(user, 'active_company', None)

        if not company:
            return Response(
                {"detail": "Active company not found"},
                status=400
            )

        serializer = CallSettingsSerializer(
            company,
            context={"request": request}
        )
        return Response(serializer.data)
