more typed orm (#28507)

This commit is contained in:
Asuka Minato
2025-11-21 22:45:51 +09:00
committed by GitHub
parent 63b8bbbab3
commit a6c6bcf95c
20 changed files with 196 additions and 134 deletions

View File

@@ -86,7 +86,7 @@ class WorkflowType(StrEnum):
:param app_mode: app mode
:return: workflow type
"""
from models.model import AppMode
from .model import AppMode
app_mode = app_mode if isinstance(app_mode, AppMode) else AppMode.value_of(app_mode)
return cls.WORKFLOW if app_mode == AppMode.WORKFLOW else cls.CHAT
@@ -413,7 +413,7 @@ class Workflow(Base):
For accurate checking, use a direct query with tenant_id, app_id, and version.
"""
from models.tools import WorkflowToolProvider
from .tools import WorkflowToolProvider
stmt = select(
exists().where(
@@ -634,7 +634,7 @@ class WorkflowRun(Base):
@property
def created_by_end_user(self):
from models.model import EndUser
from .model import EndUser
created_by_role = CreatorUserRole(self.created_by_role)
return db.session.get(EndUser, self.created_by) if created_by_role == CreatorUserRole.END_USER else None
@@ -653,7 +653,7 @@ class WorkflowRun(Base):
@property
def message(self):
from models.model import Message
from .model import Message
return (
db.session.query(Message).where(Message.app_id == self.app_id, Message.workflow_run_id == self.id).first()
@@ -874,7 +874,7 @@ class WorkflowNodeExecutionModel(Base): # This model is expected to have `offlo
@property
def created_by_end_user(self):
from models.model import EndUser
from .model import EndUser
created_by_role = CreatorUserRole(self.created_by_role)
# TODO(-LAN-): Avoid using db.session.get() here.
@@ -1130,7 +1130,7 @@ class WorkflowAppLog(TypeBase):
@property
def created_by_end_user(self):
from models.model import EndUser
from .model import EndUser
created_by_role = CreatorUserRole(self.created_by_role)
return db.session.get(EndUser, self.created_by) if created_by_role == CreatorUserRole.END_USER else None