From a09e7add0385c21a6ccc6daf8ffc3cd72511b1ee Mon Sep 17 00:00:00 2001 From: Aiirondev Date: Wed, 27 May 2026 12:52:15 +0200 Subject: [PATCH] fix: Enhance removal process by adding database cleanup and improving error handling --- Website/server_steering.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/Website/server_steering.py b/Website/server_steering.py index b688c4d..d5aa610 100644 --- a/Website/server_steering.py +++ b/Website/server_steering.py @@ -329,10 +329,25 @@ class instace: Output: - bool if the removal works (True: removal worked; False: didnt work) """ - if execute_script(_var, _cmd, "remove", clear_special(name)): - return True - else: + safe_name = clear_special(name) + # try to remove via management script + script_ok = execute_script(_var, _cmd, "remove", safe_name) + if not script_ok: return False + + # best-effort: remove the associated package entry from the database + client = None + try: + client, packages = _get_users_collection() + packages.delete_one({"client_name": name}) + except Exception: + # don't fail the overall removal if DB cleanup fails + pass + finally: + if client: + client.close() + + return True def status(name: str) -> bool: