def get_user_by_id(user_id): user = User.get_by_id(user_id) if user: payload = user.get_view("public") if request.args.get('with_images'): user_images = Image.get_user_images(user.id) payload['images'] = [] if user_images: payload['images'] = [{ "src": i.image_src, "id": i.id } for i in user_images] if request.args.get('with_like'): has_like = Like.is_liked(g.current_user.id, user_id) likes_me = Like.is_liked(user_id, g.current_user.id) payload['has_like'] = has_like payload['likes_me'] = likes_me # If I blocked this user [blocked, blocker] if User.user_is_blocked(user_id, g.current_user.id): u_is_blocked = True else: u_is_blocked = False if request.args.get('with_block'): payload['is_blocked'] = u_is_blocked # If user didn't block me [blocked, blocker] # Send notification if not User.user_is_blocked(g.current_user.id, user_id): if g.current_user.id != user_id: text = Notification.notification_text('view', g.current_user) notification = Notification.from_dict({ "user_id": user_id, "text": text, "type": "view" }) notification.create() # View history if g.current_user.id != user_id: History.add_to_history(g.current_user.id, user_id) return jsonify(user=payload) abort(404)