main
py 27 lines 919 Bytes
Raw
1 """Disconnect WhatsApp account by stopping bridge and clearing session."""
2
3 import os
4 import shutil
5
6 from helpers.api import ApiHandler, Request
7 from helpers.errors import format_error
8
9
10 class Disconnect(ApiHandler):
11
12 async def process(self, input: dict, request: Request) -> dict:
13 try:
14 from plugins._whatsapp_integration.helpers import bridge_manager
15 from plugins._whatsapp_integration.helpers.storage_paths import get_bridge_session_dir
16
17 # Stop bridge first
18 await bridge_manager.stop_bridge()
19
20 # Delete session files
21 session_dir = get_bridge_session_dir()
22 if os.path.exists(session_dir):
23 shutil.rmtree(session_dir, ignore_errors=True)
24
25 return {"success": True, "message": "Account disconnected"}
26 except Exception as e:
27 return {"success": False, "message": format_error(e)}