diff --git a/src/backend/langflow/database/models/flow.py b/src/backend/langflow/database/models/flow.py index dc42da928..df042eeed 100644 --- a/src/backend/langflow/database/models/flow.py +++ b/src/backend/langflow/database/models/flow.py @@ -1,10 +1,15 @@ -from sqlmodel import Field, SQLModel +from sqlmodel import Field, SQLModel, Relationship from uuid import UUID, uuid4 +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from langflow.database.models.flowstyle import FlowStyle class FlowBase(SQLModel): name: str = Field(index=True) flow: str = Field(index=False) + style: "FlowStyle" = Relationship(back_populates="flow") class Flow(FlowBase, table=True): diff --git a/src/backend/langflow/database/models/flowstyle.py b/src/backend/langflow/database/models/flowstyle.py new file mode 100644 index 000000000..cb3fb9b2b --- /dev/null +++ b/src/backend/langflow/database/models/flowstyle.py @@ -0,0 +1,25 @@ +from sqlmodel import Field, SQLModel, Relationship +from uuid import UUID, uuid4 +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from langflow.database.models.flow import Flow + + +class FlowStyleBase(SQLModel): + color: str = Field(index=True) + emoji: str = Field(index=False) + flow_id: UUID = Field(default_factory=uuid4, foreign_key="flow.id") + flow: "Flow" = Relationship(back_populates="style") + + +class FlowStyle(FlowStyleBase, table=True): + id: UUID = Field(default_factory=uuid4, primary_key=True, unique=True) + + +class FlowStyleCreate(FlowStyleBase): + pass + + +class FlowStyleRead(FlowStyleBase): + id: UUID diff --git a/src/backend/langflow/settings.py b/src/backend/langflow/settings.py index 5b66b8d7c..1f304b67d 100644 --- a/src/backend/langflow/settings.py +++ b/src/backend/langflow/settings.py @@ -20,7 +20,7 @@ class Settings(BaseSettings): textsplitters: List[str] = [] utilities: List[str] = [] dev: bool = False - dabatabase_url: str = "sqlite:///./langflow.db" + database_url: str = "sqlite:///./langflow.db" class Config: validate_assignment = True