from rest_framework.decorators import api_view, permission_classes from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response from vbv_lernwelt.core.models import Organisation from vbv_lernwelt.core.serializers import OrganisationSerializer from vbv_lernwelt.shop.models import Country from vbv_lernwelt.shop.serializers import CountrySerializer @api_view(["GET"]) @permission_classes([IsAuthenticated]) def list_entities(request): language_code = request.LANGUAGE_CODE if request.LANGUAGE_CODE else "de" field_mapping = { "de": "name_de", "fr": "name_fr", "it": "name_it", } field_name = field_mapping.get(language_code, field_mapping["de"]) organisations = OrganisationSerializer( Organisation.objects.all().order_by(field_name), many=True ).data countries = CountrySerializer(Country.objects.all(), many=True).data return Response({"organisations": organisations, "countries": countries})