def get_user_comments_in_news(id): page = request.args.get('page', 1, type=int) per_page = min(request.args.get('per_page', current_app.config['PROFILE_COMMENTS_PER_PAGE'], type=int), current_app.config['PROFILE_COMMENTS_PER_PAGE']) user = User.query.get_or_404(id) user_comments_in_news = ( db.session.query(News.id, News.title, func.count(Comment.id), func.max(Comment.modify_datetime).label('last_modified')) .join(Comment, News.id == Comment.entity_id) .filter(Comment.author == user) .group_by(News.id) .order_by(desc('last_modified')) ) p = BaseQuery.paginate(user_comments_in_news, page, per_page) return { 'paginator': { 'page': page, 'pages': p.pages, }, 'objects': [ dict(zip(['news_id', 'news_title', 'comments_amount', 'last_modified_date'], map(str, x))) for x in p.items ], }
def get_user_comments_in_news(id): page = request.args.get('page', 1, type=int) per_page = min( request.args.get('per_page', current_app.config['PROFILE_COMMENTS_PER_PAGE'], type=int), current_app.config['PROFILE_COMMENTS_PER_PAGE']) user = User.query.get_or_404(id) user_comments_in_news = (db.session.query( News.id, News.title, func.count(Comment.id), func.max(Comment.modify_datetime).label('last_modified')).join( Comment, News.id == Comment.entity_id).filter( Comment.author == user).group_by(News.id).order_by( desc('last_modified'))) p = BaseQuery.paginate(user_comments_in_news, page, per_page) return { 'paginator': { 'page': page, 'pages': p.pages, }, 'objects': [ dict( zip([ 'news_id', 'news_title', 'comments_amount', 'last_modified_date' ], map(str, x))) for x in p.items ], }
def get_user_news(id): page = request.args.get('page', 1, type=int) per_page = min(request.args.get('per_page', current_app.config['PROFILE_NEWS_PER_PAGE'], type=int), current_app.config['PROFILE_NEWS_PER_PAGE']) user = User.query.get_or_404(id) user_news = ( db.session.query(News.id, News.title, News.datetime) .filter(News.author == user) .order_by(News.datetime.desc()) ) p = BaseQuery.paginate(user_news, page, per_page) return { 'paginator': { 'page': page, 'pages': p.pages, }, 'objects': [dict(zip(['news_id', 'news_title', 'created_date'], map(str, x))) for x in p.items], }
def get_user_news(id): page = request.args.get('page', 1, type=int) per_page = min( request.args.get('per_page', current_app.config['PROFILE_NEWS_PER_PAGE'], type=int), current_app.config['PROFILE_NEWS_PER_PAGE']) user = User.query.get_or_404(id) user_news = (db.session.query(News.id, News.title, News.datetime).filter( News.author == user).order_by(News.datetime.desc())) p = BaseQuery.paginate(user_news, page, per_page) return { 'paginator': { 'page': page, 'pages': p.pages, }, 'objects': [ dict(zip(['news_id', 'news_title', 'created_date'], map(str, x))) for x in p.items ], }