|
|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
import json
|
|
|
|
|
from collections.abc import Mapping, Sequence
|
|
|
|
|
from datetime import datetime
|
|
|
|
|
from enum import Enum
|
|
|
|
|
from typing import Any, Optional, Union
|
|
|
|
|
|
|
|
|
|
@ -110,19 +111,32 @@ class Workflow(db.Model):
|
|
|
|
|
db.Index('workflow_version_idx', 'tenant_id', 'app_id', 'version'),
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
id = db.Column(StringUUID, server_default=db.text('uuid_generate_v4()'))
|
|
|
|
|
tenant_id = db.Column(StringUUID, nullable=False)
|
|
|
|
|
app_id = db.Column(StringUUID, nullable=False)
|
|
|
|
|
type = db.Column(db.String(255), nullable=False)
|
|
|
|
|
version = db.Column(db.String(255), nullable=False)
|
|
|
|
|
graph = db.Column(db.Text)
|
|
|
|
|
features = db.Column(db.Text)
|
|
|
|
|
created_by = db.Column(StringUUID, nullable=False)
|
|
|
|
|
created_at = db.Column(db.DateTime, nullable=False, server_default=db.text('CURRENT_TIMESTAMP(0)'))
|
|
|
|
|
updated_by = db.Column(StringUUID)
|
|
|
|
|
updated_at = db.Column(db.DateTime)
|
|
|
|
|
_environment_variables = db.Column('environment_variables', db.Text, nullable=False, server_default='{}')
|
|
|
|
|
_conversation_variables = db.Column('conversation_variables', db.Text, nullable=False, server_default='{}')
|
|
|
|
|
id: Mapped[str] = db.Column(StringUUID, server_default=db.text('uuid_generate_v4()'))
|
|
|
|
|
tenant_id: Mapped[str] = db.Column(StringUUID, nullable=False)
|
|
|
|
|
app_id: Mapped[str] = db.Column(StringUUID, nullable=False)
|
|
|
|
|
type: Mapped[str] = db.Column(db.String(255), nullable=False)
|
|
|
|
|
version: Mapped[str] = db.Column(db.String(255), nullable=False)
|
|
|
|
|
graph: Mapped[str] = db.Column(db.Text)
|
|
|
|
|
features: Mapped[str] = db.Column(db.Text)
|
|
|
|
|
created_by: Mapped[str] = db.Column(StringUUID, nullable=False)
|
|
|
|
|
created_at: Mapped[datetime] = db.Column(db.DateTime, nullable=False, server_default=db.text('CURRENT_TIMESTAMP(0)'))
|
|
|
|
|
updated_by: Mapped[str] = db.Column(StringUUID)
|
|
|
|
|
updated_at: Mapped[datetime] = db.Column(db.DateTime)
|
|
|
|
|
_environment_variables: Mapped[str] = db.Column('environment_variables', db.Text, nullable=False, server_default='{}')
|
|
|
|
|
_conversation_variables: Mapped[str] = db.Column('conversation_variables', db.Text, nullable=False, server_default='{}')
|
|
|
|
|
|
|
|
|
|
def __init__(self, *, tenant_id: str, app_id: str, type: str, version: str, graph: str,
|
|
|
|
|
features: str, created_by: str, environment_variables: Sequence[Variable],
|
|
|
|
|
conversation_variables: Sequence[Variable]):
|
|
|
|
|
self.tenant_id = tenant_id
|
|
|
|
|
self.app_id = app_id
|
|
|
|
|
self.type = type
|
|
|
|
|
self.version = version
|
|
|
|
|
self.graph = graph
|
|
|
|
|
self.features = features
|
|
|
|
|
self.created_by = created_by
|
|
|
|
|
self.environment_variables = environment_variables or []
|
|
|
|
|
self.conversation_variables = conversation_variables or []
|
|
|
|
|
|
|
|
|
|
@property
|
|
|
|
|
def created_by_account(self):
|
|
|
|
|
|