MCPcopy Create free account
hub / github.com/MemTensor/MemOS / remove_user_from_cube

Method remove_user_from_cube

src/memos/mem_user/user_manager.py:387–421  ·  view source on GitHub ↗

Remove a user from a cube's access list. Args: user_id (str): The user ID. cube_id (str): The cube ID. Returns: bool: True if successful, False otherwise.

(self, user_id: str, cube_id: str)

Source from the content-addressed store, hash-verified

385 session.close()
386
387 def remove_user_from_cube(self, user_id: str, cube_id: str) -> bool:
388 """Remove a user from a cube's access list.
389
390 Args:
391 user_id (str): The user ID.
392 cube_id (str): The cube ID.
393
394 Returns:
395 bool: True if successful, False otherwise.
396 """
397 session = self._get_session()
398 try:
399 user = session.query(User).filter(User.user_id == user_id).first()
400 cube = session.query(Cube).filter(Cube.cube_id == cube_id).first()
401
402 if not user or not cube:
403 return False
404
405 # Don't remove owner
406 if cube.owner_id == user_id:
407 logger.warning(f"Cannot remove owner '{user_id}' from cube '{cube_id}'")
408 return False
409
410 if user in cube.users:
411 cube.users.remove(user)
412 session.commit()
413 logger.info(f"User '{user_id}' removed from cube '{cube_id}'")
414
415 return True
416 except Exception as e:
417 session.rollback()
418 logger.error(f"Error removing user from cube: {e}")
419 return False
420 finally:
421 session.close()
422
423 def delete_user(self, user_id: str) -> bool:
424 """Soft delete a user (set is_active to False).

Callers 1

Calls 5

_get_sessionMethod · 0.95
filterMethod · 0.80
infoMethod · 0.65
errorMethod · 0.65
closeMethod · 0.65

Tested by 1