File size: 855 Bytes
d384b52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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}"