Get all cubes accessible by a user. Args: user_id (str): The user ID. Returns: list[Cube]: List of cubes accessible by the user.
(self, user_id: str)
| 334 | session.close() |
| 335 | |
| 336 | def get_user_cubes(self, user_id: str) -> list[Cube]: |
| 337 | """Get all cubes accessible by a user. |
| 338 | |
| 339 | Args: |
| 340 | user_id (str): The user ID. |
| 341 | |
| 342 | Returns: |
| 343 | list[Cube]: List of cubes accessible by the user. |
| 344 | """ |
| 345 | session = self._get_session() |
| 346 | try: |
| 347 | user = session.query(User).filter(User.user_id == user_id).first() |
| 348 | if not user: |
| 349 | return [] |
| 350 | |
| 351 | active_cubes = [cube for cube in user.cubes if cube.is_active] |
| 352 | return sorted(active_cubes, key=lambda cube: cube.created_at, reverse=True) |
| 353 | finally: |
| 354 | session.close() |
| 355 | |
| 356 | def add_user_to_cube(self, user_id: str, cube_id: str) -> bool: |
| 357 | """Add a user to a cube's access list. |