Spaces:
Running
Running
Download src/backend/base/langflow/services/database/models/folder/utils.py from opendigital/agent-flow: direct link, hf CLI and curl.
- Browser
- Download file 1.4 kB
-
https://huggingface.co/spaces/opendigital/agent-flow/resolve/main/src/backend/base/langflow/services/database/models/folder/utils.py
- Command line
-
hf download hf://spaces/opendigital/agent-flow/src/backend/base/langflow/services/database/models/folder/utils.py
-
curl -L -o utils.py https://huggingface.co/spaces/opendigital/agent-flow/resolve/main/src/backend/base/langflow/services/database/models/folder/utils.py
1.4 kB
| from uuid import UUID | |
| from sqlmodel import and_, select, update | |
| from sqlmodel.ext.asyncio.session import AsyncSession | |
| from langflow.services.database.models.flow.model import Flow | |
| from .constants import DEFAULT_FOLDER_DESCRIPTION, DEFAULT_FOLDER_NAME | |
| from .model import Folder | |
| async def create_default_folder_if_it_doesnt_exist(session: AsyncSession, user_id: UUID): | |
| stmt = select(Folder).where(Folder.user_id == user_id) | |
| folder = (await session.exec(stmt)).first() | |
| if not folder: | |
| folder = Folder( | |
| name=DEFAULT_FOLDER_NAME, | |
| user_id=user_id, | |
| description=DEFAULT_FOLDER_DESCRIPTION, | |
| ) | |
| session.add(folder) | |
| await session.commit() | |
| await session.refresh(folder) | |
| await session.exec( | |
| update(Flow) | |
| .where( | |
| and_( | |
| Flow.folder_id is None, | |
| Flow.user_id == user_id, | |
| ) | |
| ) | |
| .values(folder_id=folder.id) | |
| ) | |
| await session.commit() | |
| return folder | |
| async def get_default_folder_id(session: AsyncSession, user_id: UUID): | |
| folder = ( | |
| await session.exec(select(Folder).where(Folder.name == DEFAULT_FOLDER_NAME, Folder.user_id == user_id)) | |
| ).first() | |
| if not folder: | |
| folder = await create_default_folder_if_it_doesnt_exist(session, user_id) | |
| return folder.id | |