|
import traceback |
|
import logging |
|
|
|
class DeleteUser: |
|
async def delete_user(self, user_id: int): |
|
try: |
|
user = await self.find(user_id) |
|
if not user: "not exists" |
|
db, cb = self.db, self.cb |
|
await db.update_one({"_id": 1}, {"$pull": {"users": user_id}}) |
|
await db.delete_one({"_id": user_id}) |
|
for x in user.get('projects'): |
|
if x.get('project_id'): |
|
try: await db.delete_one({"_id": f"{user_id}{int(x.get('project_id'))}"}) |
|
except: pass |
|
try: |
|
await cb.update_one({"_id": 1}, {"$pull": {"users": user_id}}) |
|
await cb.delete_one({"_id": user_id}) |
|
except Exception as e: logging.error("Error on deleting user callback data ^_^: {user_id}, {e}") |
|
return True |
|
except Exception as e: |
|
logging.error(traceback.format_exc()) |
|
return f"Error: {e}" |
|
|
|
|
|
|