add: markdown deletion

This commit is contained in:
h z
2025-06-27 12:06:28 +01:00
parent 62c33c47c6
commit 1f4ca52a10
2 changed files with 11 additions and 1 deletions

View File

@@ -317,15 +317,21 @@ def delete_markdown(markdown_id):
session.delete(markdown_setting) session.delete(markdown_setting)
# Send webhook event before committing the transaction
# This ensures webhook handlers can still access related data
markdown_deleted.send(None, payload=md)
session.delete(markdown) session.delete(markdown)
session.commit() session.commit()
markdown_deleted.send(None, payload=md)
logger.info(f"Successfully deleted markdown {markdown_id} with cascade deletion") logger.info(f"Successfully deleted markdown {markdown_id} with cascade deletion")
return jsonify(md), 200 return jsonify(md), 200
except Exception as e: except Exception as e:
import traceback
logger.error(f"Failed to delete markdown {markdown_id}: {e}") logger.error(f"Failed to delete markdown {markdown_id}: {e}")
logger.error(f"Exception type: {type(e).__name__}")
logger.error(f"Full traceback:\n{traceback.format_exc()}")
errno = RequestContext.get_error_id() errno = RequestContext.get_error_id()
session.rollback() session.rollback()
return jsonify({"error": f"delete failed - {errno}"}), 500 return jsonify({"error": f"delete failed - {errno}"}), 500

View File

@@ -59,6 +59,10 @@ class WebhookEventHandler(abc.ABC):
if webhook_setting is None and p["parent_id"] != 1: if webhook_setting is None and p["parent_id"] != 1:
return self.get_setting(session, p["parent_id"]) return self.get_setting(session, p["parent_id"])
# Check if webhook_setting is still None (e.g., when parent_id == 1 or no parent found)
if webhook_setting is None:
return None
setting = webhook_setting.to_dict() setting = webhook_setting.to_dict()
if not setting["enabled"] or setting["on_events"] & self.event_type == 0: if not setting["enabled"] or setting["on_events"] & self.event_type == 0: