def get_football_match_details_service(request, params, user_agent):
    """
    create football match
    :param request: request
    :param params: request input params
    :param user_agent: request user agent
    :return: dict
    """

    expected_params = [
        {
            'name': 'match_id',
            'required': True,
            'type': int,
            'model': FootBallMatchDetails,
        },
    ]
    validation = utils.validate_request(expected_params=expected_params,
                                        request_params=params)
    if validation.valid:
        football_match = FootBallMatchDetails.objects.get(
            id=params['match_id'])
        data = FootBallMatchDetailsSerializer(football_match).data
        return result(status=True, message=None, data=data, type=None)

    else:
        message = validation.errors
    return result(status=False,
                  message=message,
                  data=None,
                  type=constants.ERROR_RESPONSE_KEY_VALIDATION)
def list_guest_news_service(request, params, user_agent):
    """
    filter trending news
    :param request: request
    :param params: request input params
    :param user_agent: request user agent
    :return: list of news objects
    """
    expected_params = [
        {'name': 'offset', 'required': True, 'type': int, },
        {'name': 'limit', 'required': True, 'type': int, },

    ]
    validation = utils.validate_request(expected_params=expected_params, request_params=params)
    if validation.valid:
        offset = params['offset']
        limit = params['limit']

        news = GuestNews.objects.filter(is_active=True).order_by('-created_at')[offset:limit]
        total_count = GuestNews.objects.filter(is_active=True).count()
        data = GuestNewsListSerializer(news, many=True).data
        response = {
            "content" : data,
            "total_count": total_count
        }

        return result(status=True, message=None, data=response, type=None)

    else:
        message = validation.errors
    return result(status=False, message=message, data=None, type=constants.ERROR_RESPONSE_KEY_VALIDATION)
def delete_football_match_player_service(request, params, user_agent):
    """
    create football match
    :param request: request
    :param params: request input params
    :param user_agent: request user agent
    :return: dict
    """
    expected_params = [
        {
            'name': 'player_id',
            'required': True,
            'type': int,
            'model': MatchPlayer,
        },
    ]
    validation = utils.validate_request(expected_params=expected_params,
                                        request_params=params)
    if validation.valid:
        match_player = MatchPlayer.objects.get(id=params['player_id'])
        match_player.delete()
        return result(status=True, message=None, data=None, type=None)

    else:
        message = validation.errors
    return result(status=False,
                  message=message,
                  data=None,
                  type=constants.ERROR_RESPONSE_KEY_VALIDATION)
def update_guest_news_service(request, params, user_agent):
    """
    filter trending news
    :param request: request
    :param params: request input params
    :param user_agent: request user agent
    :return: list of news objects
    """
    expected_params = [
        {'name': 'news_id', 'required': True, 'type': int, 'model': GuestNews, },
    ]
    validation = utils.validate_request(request_params=params, expected_params=expected_params)
    if validation.valid:

        news_id = params['news_id']
        news = GuestNews.objects.get(id=news_id)
        serializer = GuestNewsUpdateSerializer(news, data=params, context={'request': request})

        if not serializer.is_valid():
            return result(status=False, message=serializer.errors, data=None,
                          type=constants.ERROR_RESPONSE_KEY_VALIDATION)

        serializer.save()
        return result(status=True, message=None, data=serializer.data, type=None)
    else:
        message = validation.errors
        return result(status=False, message=message, data=None, type=constants.ERROR_RESPONSE_KEY_VALIDATION)
Exemplo n.º 5
0
def delete_news_service(request, params, user_agent):
    """
    filter trending news
    :param request: request
    :param params: request input params
    :param user_agent: request user agent
    :return: list of news objects
    """
    expected_params = [
        {
            'name': 'news_id',
            'required': True,
            'type': int,
            'model': News,
        },
    ]
    validation = utils.validate_request(request_params=params,
                                        expected_params=expected_params)
    if validation.valid:

        news_id = params['news_id']
        news = News.objects.get(id=news_id)
        news.delete()
        return result(status=True, message=None, data=None, type=None)
    else:
        message = validation.errors
        return result(status=False,
                      message=message,
                      data=None,
                      type=constants.ERROR_RESPONSE_KEY_VALIDATION)
def list_football_match_commentary_service(request, params, user_agent):
    """
    create football match
    :param request: request
    :param params: request input params
    :param user_agent: request user agent
    :return: dict
    """
    expected_params = [
        {
            'name': 'match_id',
            'required': True,
            'type': int,
            'model': FootBallMatchDetails,
        },
        {
            'name': 'offset',
            'required': True,
            'type': int,
        },
        {
            'name': 'limit',
            'required': True,
            'type': int,
        },
    ]
    validation = utils.validate_request(expected_params=expected_params,
                                        request_params=params)
    if validation.valid:
        match_id = params['match_id']
        offset = params['offset']
        limit = params['limit']

        commentaries = FootballMatchCommentary.objects.filter(
            is_active=True,
            football_match_id=match_id).order_by('-created_at')[offset:limit]
        data = FootballMatchCommentaryDetailsSerializer(commentaries,
                                                        many=True).data
        total_count = FootballMatchCommentary.objects.filter(
            is_active=True, football_match_id=match_id).count()
        response = {"content": data, "total_count": total_count}
        return result(status=True, message=None, data=response, type=None)

    else:
        message = validation.errors
    return result(status=False,
                  message=message,
                  data=None,
                  type=constants.ERROR_RESPONSE_KEY_VALIDATION)
Exemplo n.º 7
0
def get_match_series_service(request, params, user_agent):
    expected_params = [
        {'name': 'sport', 'required': True, 'type': str},
    ]
    validation = utils.validate_request(request_params=params, expected_params=expected_params)
    if validation.valid:
        if params['sport'] == 'FOOTBALL':
            series = MatchSeries.objects.filter(is_active=True, sport=constants.SPORTS_FOOTBALL).all()
            data = MatchSeriesSerializer(series, many=True).data
            return result(status=True, message=None, data=data, type=None)
        else:
            message = "Not a valid sport"
    else:
        message = validation.errors
    return result(status=False, message=message, data=None, type=constants.ERROR_RESPONSE_KEY_VALIDATION)
def update_football_match_commentary_service(request, params, user_agent):
    """
    create football match
    :param request: request
    :param params: request input params
    :param user_agent: request user agent
    :return: dict
    """
    expected_params = [
        {
            'name': 'commentary_id',
            'required': True,
            'type': int,
            'model': FootballMatchCommentary,
        },
    ]
    validation = utils.validate_request(expected_params=expected_params,
                                        request_params=params)
    if validation.valid:
        match_commentary = FootballMatchCommentary.objects.get(
            id=params['commentary_id'])
        serializer = FootballMatchCommentaryUpdateSerializer(match_commentary,
                                                             data=params)

        if not serializer.is_valid():
            return result(status=False,
                          message=serializer.errors,
                          data=None,
                          type=constants.ERROR_RESPONSE_KEY_VALIDATION)

        serializer.save()
        return result(status=True,
                      message=None,
                      data=serializer.data,
                      type=None)

    else:
        message = validation.errors
    return result(status=False,
                  message=message,
                  data=None,
                  type=constants.ERROR_RESPONSE_KEY_VALIDATION)