feat(trash): MCP delete tools soft-delete via trash; add delete_task/project/milestone
This commit is contained in:
@@ -11,6 +11,7 @@ from __future__ import annotations
|
||||
|
||||
from fabledassistant.mcp._context import current_user_id
|
||||
from fabledassistant.services import rulebooks as rulebooks_svc
|
||||
from fabledassistant.services import trash as trash_svc
|
||||
|
||||
|
||||
# ── Rulebook CRUD ───────────────────────────────────────────────────────
|
||||
@@ -90,8 +91,9 @@ async def delete_rulebook(rulebook_id: int, confirmed: bool = False) -> dict:
|
||||
),
|
||||
"confirmed_required": True,
|
||||
}
|
||||
await rulebooks_svc.delete_rulebook(rulebook_id, uid)
|
||||
return {"deleted": rulebook_id}
|
||||
batch = await trash_svc.delete(uid, "rulebook", rulebook_id)
|
||||
return {"deleted": rulebook_id, "deleted_batch_id": batch,
|
||||
"message": f"Moved to trash. Restore with restore('{batch}')."}
|
||||
|
||||
|
||||
# ── Topic CRUD ─────────────────────────────────────────────────────────
|
||||
@@ -159,8 +161,9 @@ async def delete_topic(topic_id: int, confirmed: bool = False) -> dict:
|
||||
),
|
||||
"confirmed_required": True,
|
||||
}
|
||||
await rulebooks_svc.delete_topic(topic_id, uid)
|
||||
return {"deleted": topic_id}
|
||||
batch = await trash_svc.delete(uid, "topic", topic_id)
|
||||
return {"deleted": topic_id, "deleted_batch_id": batch,
|
||||
"message": f"Moved to trash. Restore with restore('{batch}')."}
|
||||
|
||||
|
||||
# ── Rule CRUD ──────────────────────────────────────────────────────────
|
||||
@@ -266,8 +269,9 @@ async def delete_rule(rule_id: int, confirmed: bool = False) -> dict:
|
||||
),
|
||||
"confirmed_required": True,
|
||||
}
|
||||
await rulebooks_svc.delete_rule(rule_id, uid)
|
||||
return {"deleted": rule_id}
|
||||
batch = await trash_svc.delete(uid, "rule", rule_id)
|
||||
return {"deleted": rule_id, "deleted_batch_id": batch,
|
||||
"message": f"Moved to trash. Restore with restore('{batch}')."}
|
||||
|
||||
|
||||
# ── Subscriptions ──────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user