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)
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)
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)