text: from django.shortcuts import render
  from django.http import HttpResponse, JsonResponse
  from rest_framework.parsers import JSONParser
  from .models import CustomUser
  from .serializers import UserSerializer
  from django.views.decorators.csrf import csrf_exempt
  from app_companies.models import Company
  from rest_framework.permissions import IsAuthenticated
  
  
  @csrf_exempt
  def user_list(request):
      permission_classes = (IsAuthenticated,) 
  
      if request.method == 'GET':
          users = CustomUser.objects.all()
          serializer = UserSerializer(users, many=True)
          return JsonResponse(serializer.data, safe=False)
      elif request.method == 'POST':
          data = JSONParser().parse(request)
          serializer = UserSerializer(data = data)
  
          if serializer.is_valid():
              serializer.save()
              return JsonResponse(serializer.data, status = 201)
          return JsonResponse(serializer.errors, status = 400)
  
  
  @csrf_exempt
  def user_details(request, pk):
      try:
          user = CustomUser.objects.get(pk=pk)
      except CustomUser.DoesNotExist:
          return HttpResponse(status=400)
      
      if request.method == 'GET':
          serializer = UserSerializer(user)
          return JsonResponse(serializer.data, safe=False)
      elif request.method == 'PUT':
          data = JSONParser().parse(request)
          serializer = UserSerializer(user, data = data)
          if serializer.is_valid():
              serializer.save()
              return JsonResponse(serializer.data)
          return HttpResponse(status = 400)
      elif request.method == 'DELETE':
          user.delete()
          return HttpResponse(status = 204)