add: markdown deletion
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -60,6 +60,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:
|
||||||
return None
|
return None
|
||||||
|
|||||||
Reference in New Issue
Block a user