kc token public key/token issue, path root set to 1

This commit is contained in:
h z
2024-12-06 10:04:03 +00:00
parent 4b9c1ba727
commit 48dd59f8e4
9 changed files with 139 additions and 82 deletions

View File

@@ -14,15 +14,15 @@ markdown_bp = Blueprint('markdown', __name__, url_prefix='/api/markdown')
@markdown_bp.route('/', methods=['GET'])
@limiter.limit('5 per minute')
def get_markdowns():
with get_db() as db:
mds = db.query(Markdown).all()
with get_db() as session:
mds = session.query(Markdown).all()
return jsonify([md.to_dict() for md in mds]), 200
@markdown_bp.route('/by_path/<int:path_id>', methods=['GET'])
@limiter.limit('5 per minute')
def get_markdowns_by_path(path_id):
with get_db() as db:
markdowns = db.query(Markdown).filter(Markdown.path_id == path_id).all()
with get_db() as session:
markdowns = session.query(Markdown).filter(Markdown.path_id == path_id).all()
return jsonify([md.to_dict() for md in markdowns]), 200
@@ -30,8 +30,8 @@ def get_markdowns_by_path(path_id):
@markdown_bp.route('/<int:markdown_id>', methods=['GET'])
@limiter.limit('120 per minute')
def get_markdown(markdown_id):
with get_db() as db:
markdown = db.query(Markdown).get(markdown_id)
with get_db() as session:
markdown = session.query(Markdown).get(markdown_id)
if markdown is None:
return jsonify({"error": "file not found"}), 404
return jsonify(markdown.to_dict())
@@ -47,42 +47,42 @@ def create_markdown():
if not title or not content:
return jsonify({"error": "missing required fields"}), 400
new_markdown = Markdown(title=title, content=content, path_id=path_id)
with get_db() as db:
with get_db() as session:
try:
db.add(new_markdown)
db.commit()
session.add(new_markdown)
session.commit()
return jsonify(new_markdown.to_dict()), 201
except Exception as e:
logger.error(f"failed to create markdown: {e}")
errno = RequestContext.get_error_id()
db.rollback()
session.rollback()
return jsonify({"error": f"create failed - {errno}"}), 500
@markdown_bp.route('/<int:markdown_id>', methods=['PUT'])
@require_auth(roles=['admin', 'creator'])
@limiter.limit('20 per minute')
def update_markdown(markdown_id):
with get_db() as db:
markdown = db.query(Markdown).get(markdown_id)
with get_db() as session:
markdown = session.query(Markdown).get(markdown_id)
if markdown is None:
return jsonify({"error": "file not found"}), 404
data = request.json
markdown.title = data.get('title')
markdown.content = data.get('content')
markdown.path_id = data.get('path_id')
db.commit()
session.commit()
return jsonify(markdown.to_dict()), 200
@markdown_bp.route('/<int:markdown_id>', methods=['DELETE'])
@require_auth(roles=['admin'])
@limiter.limit('20 per minute')
def delete_markdown(markdown_id):
with get_db() as db:
markdown = db.query(Markdown).get(markdown_id)
with get_db() as session:
markdown = session.query(Markdown).get(markdown_id)
if markdown is None:
logger.error(f"failed to delete markdown: {markdown_id}")
errno = RequestContext.get_error_id()
return jsonify({"error": f"file not found - {errno}"}), 404
db.delete(markdown)
db.commit()
session.delete(markdown)
session.commit()
return jsonify({"message": "deleted"}), 200