diff --git a/api/markdown.py b/api/markdown.py index 5196bcd..878ac34 100644 --- a/api/markdown.py +++ b/api/markdown.py @@ -1,4 +1,5 @@ from flask import Blueprint, request, jsonify +from sqlalchemy import or_ import api from api import require_auth, etag_response @@ -153,3 +154,11 @@ def move_backward(markdown_id): session.commit() return jsonify(markdown.to_dict()), 200 +@markdown_bp.route('/search/', methods=['GET']) +@limiter.limit(api.get_rate_limit) +def search_markdowns(keyword): + with (get_db() as session): + res = session.query(Markdown).filter( + or_(Markdown.title.like(keyword), Markdown.content.like(keyword)) + ).all() + return jsonify([md.to_dict() for md in res]), 200