コード例 #1
0
ファイル: challenge.py プロジェクト: HSCTF/play.nullify.uno
  def get(self, request, id=None, format=None):
    """
    Gets all challenges or gets an individual challenge via
    challenge/:id.
    """
    # If a specific challenge is requested, return that challege
    # else return all the challenges in the database.
    if id:
      challenges = challenge.objects.filter(id=id)
    else:
      challenges = challenge.objects.all()

    # Serialize challenge object and return the serialized data.
    challenge_serializer = challenge_serializer(challenges, many=True, context={'request': request})
    return Response({
      'challenges': challenge_serializer.data,
    })
コード例 #2
0
    def get(self, request, id=None, format=None):
        """
    Gets all challenges or gets an individual challenge via
    challenge/:id.
    """
        # If a specific challenge is requested, return that challege
        # else return all the challenges in the database.
        if id:
            challenges = challenge.objects.filter(id=id)
        else:
            challenges = challenge.objects.all()

        # Serialize challenge object and return the serialized data.
        challenge_serializer = challenge_serializer(
            challenges, many=True, context={'request': request})
        return Response({
            'challenges': challenge_serializer.data,
        })
コード例 #3
0
    def get(self, request, id=None, format=None):
        """
    Gets all challengeboards or gets one challengeboard via
    challengeboards/:id.
    """
        # If challengeboard id was requested, return that challengeboard
        # else return list of all challengeboards in the database.
        if id:
            # Retrieve and serialize the requested challengeboard data.
            challengeboards = challengeboard.objects.filter(id=id)
            challengeboards_serializer = challengeboard_serializer(
                challengeboards, many=True, context={'request': request})

            # Retrieve and serialize the categories in the challengeboard.
            categories = category.objects.filter(
                challengeboard=challengeboards.first())
            categories_serializer = category_serializer(
                categories, many=True, context={'request': request})

            # Retrieve and serialize the challenges in each category.
            challenges = []
            for cat in categories:
                challenges += challenge.objects.filter(category=cat)
            challenges_serializer = challenge_serializer(
                challenges, many=True, context={'request': request})

            # Return the serialized data.
            return Response({
                'challengeboards': challengeboards_serializer.data,
                'categories': categories_serializer.data,
                'challenges': challenges_serializer.data,
            })
        else:
            # Retrieve and serialize the requested challengeboard data.
            challengeboards = challengeboard.objects.all()
            serializer = challengeboard_serializer(
                challengeboards, many=True, context={'request': request})

            # Return the serialized data.
            return Response({
                'challengeboards': serializer.data,
            })
コード例 #4
0
  def get(self, request, id=None, format=None):
    """
    Gets all challengeboards or gets one challengeboard via
    challengeboards/:id.
    """
    # If challengeboard id was requested, return that challengeboard
    # else return list of all challengeboards in the database.
    if id:
      # Retrieve and serialize the requested challengeboard data.
      challengeboards = challengeboard.objects.filter(id=id)
      challengeboards_serializer = challengeboard_serializer(challengeboards, many=True, context={'request': request})

      # Retrieve and serialize the categories in the challengeboard.
      categories = category.objects.filter(challengeboard=challengeboards.first())
      categories_serializer = category_serializer(categories, many=True, context={'request': request})

      # Retrieve and serialize the challenges in each category.
      challenges = []
      for cat in categories:
        challenges += challenge.objects.filter(category=cat)
      challenges_serializer = challenge_serializer(challenges, many=True, context={'request': request})

      # Return the serialized data.
      return Response({
          'challengeboards': challengeboards_serializer.data,
          'categories': categories_serializer.data,
          'challenges': challenges_serializer.data,
      })
    else:
      # Retrieve and serialize the requested challengeboard data.
      challengeboards = challengeboard.objects.all()
      serializer = challengeboard_serializer(challengeboards, many=True, context={'request': request})

      # Return the serialized data.
      return Response({
          'challengeboards': serializer.data,
      })