|
@@ -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):
|