This commit is contained in:
Timothy Jaeryang Baek committed 2026-06-17 00:25:35 +02:00
1 parent 6b2d962cd6
commit 232421f40b
3 files changed
+36 -1

No files matched your search

+19
View File
@@ -252,6 +252,25 @@ class FolderTable:
result = await db.execute(select(Folder).filter_by(parent_id=parent_id, user_id=user_id))
return [FolderModel.model_validate(folder) for folder in result.scalars().all()]
async def get_folder_ids_by_id_and_user_id_in_subtree(
self, id: str, user_id: str, db: Optional[AsyncSession] = None
) -> list[str]:
async with get_async_db_context(db) as db:
result = await db.execute(select(Folder).filter_by(id=id, user_id=user_id))
folder = result.scalars().first()
if not folder:
return []
folder_ids = [folder.id]
folders = [FolderModel.model_validate(folder)]
while folders:
current_folder = folders.pop()
children = await self.get_folders_by_parent_id_and_user_id(current_folder.id, user_id, db=db)
folder_ids.extend(child.id for child in children)
folders.extend(children)
return folder_ids
async def update_folder_parent_id_by_id_and_user_id(
self,
id: str,