input: def create_CRUD_API(app: Flask) -> None:
      """Create a basic CRUD API for the BlogPost model with Python/Flask. The API should include endpoints for creating a post, getting all posts, getting a single post, editing a post, and deleting a post.
  
      Example:
      for app = Flask(__name__)
      create_CRUD_API(app)
      should create endpoints '/post', '/posts', '/post/<id>', etc.
      """
output:     
      from flask import request, jsonify
      from models import BlogPost
  
      @app.route('/posts', methods=['GET'])
      def get_all_posts():
          posts = BlogPost.query.all()
          return jsonify([post.serialize() for post in posts])
  
      @app.route('/post/<int:id>', methods=['GET'])
      def get_single_post(id):
          post = BlogPost.query.get(id)
          if post is None:
              return jsonify({'error': 'Post not found'}), 404
          return jsonify(post.serialize())
  
      @app.route('/post', methods=['POST'])
      def create_post():
          data = request.get_json()
          new_post = BlogPost(title=data['title'], content=data['content'])
          db.session.add(new_post)
          db.session.commit()
          return jsonify(new_post.serialize()), 201
  
      @app.route('/post/<int:id>', methods=['PUT'])
      def edit_post(id):
          post = BlogPost.query.get(id)
          if post is None:
              return jsonify({'error': 'Post not found'}), 404
          data = request.get_json()
          post.title = data.get('title', post.title)
          post.content = data.get('content', post.content)
          db.session.commit()
          return jsonify(post.serialize())
  
      @app.route('/post/<int:id>', methods=['DELETE'])
      def delete_post(id):
          post = BlogPost.query.get(id)
          if post is None:
              return jsonify({'error': 'Post not found'}), 404
          db.session.delete(post)
          db.session.commit()
          return jsonify({'result': 'Post deleted'})
  