文件版本管理-初步优化
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
import uuid
|
||||
from typing import Sequence
|
||||
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.orm import selectinload
|
||||
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.models.workflow_template import WorkflowTemplate
|
||||
|
||||
|
||||
async def get(db: AsyncSession, template_id: uuid.UUID) -> WorkflowTemplate | None:
|
||||
result = await db.execute(select(WorkflowTemplate).where(WorkflowTemplate.id == template_id))
|
||||
return result.scalar_one_or_none()
|
||||
|
||||
|
||||
async def list_active(db: AsyncSession, trial_id: uuid.UUID | None = None) -> Sequence[WorkflowTemplate]:
|
||||
stmt = (
|
||||
select(WorkflowTemplate)
|
||||
.where(WorkflowTemplate.is_active.is_(True))
|
||||
.options(selectinload(WorkflowTemplate.nodes))
|
||||
)
|
||||
if trial_id:
|
||||
stmt = stmt.where(WorkflowTemplate.trial_id == trial_id)
|
||||
result = await db.execute(stmt)
|
||||
return result.scalars().all()
|
||||
Reference in New Issue
Block a user