Tai Truong
fix readme
d202ada
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