docs: def post(self, request):
          """
          Retrieve video IDs that are missing HLS profiles. This endpoint supports 2 types of input data:
  
          1. If we want a batch of video ids which are missing HLS profile irrespective of their courses, the request
             data should be in following format:
                  {
                      'batch_size': 50,
                      'offset': 0
                  }
             And response will be in following format:
                  {
                      'videos': ['video_id1', 'video_id2', 'video_id3', ... , video_id50],
                      'total': 300,
                      'offset': 50,
                      'batch_size': 50
                  }
  
          2. If we want all the videos which are missing HLS profiles in a set of specific courses, the request data
             should be in following format:
                  {
                      'courses': [
                          'course_id1',
                          'course_id2',
                          ...
                      ]
                  }
             And response will be in following format:
                  {
                      'videos': ['video_id1', 'video_id2', 'video_id3', ...]
                  }
          """
          courses = request.data.get('courses')
          batch_size = request.data.get('batch_size', 50)
          offset = request.data.get('offset', 0)
          if courses:
              videos = (CourseVideo.objects.select_related('video')
                        .prefetch_related('video__encoded_videos', 'video__encoded_videos__profile')
                        .filter(course_id__in=courses, video__status='file_complete')
                        .exclude(video__encoded_videos__profile__profile_name='hls')
                        .values_list('video__edx_video_id', flat=True)
                        .distinct())
  
              response = Response({'videos': videos}, status=status.HTTP_200_OK)
          else:
              videos = (Video.objects.prefetch_related('encoded_videos', 'encoded_videos__profile')
                        .filter(status='file_complete')
                        .exclude(encoded_videos__profile__profile_name='hls')
                        .order_by('id')
                        .values_list('edx_video_id', flat=True)
                        .distinct())
  
              response = Response(
                  {
                      'videos': videos[offset: offset+batch_size],
                      'total': videos.count(),
                      'offset': offset,
                      'batch_size': batch_size,
                  },
                  status=status.HTTP_200_OK
              )
  
          return response