🔀 chore(user.py): add type hinting for ApiKey import to improve code readability

🔀 chore(user.py): add relationship between User and ApiKey models to establish a one-to-many relationship
This commit is contained in:
Gabriel Luiz Freitas Almeida 2023-08-25 12:05:20 -03:00
commit ba081e81b6

View file

@ -1,11 +1,14 @@
from langflow.services.database.models.base import SQLModel, SQLModelSerializable from langflow.services.database.models.base import SQLModel, SQLModelSerializable
from sqlmodel import Field from sqlmodel import Field, Relationship
from datetime import datetime from datetime import datetime
from typing import Optional from typing import Optional, TYPE_CHECKING
from uuid import UUID, uuid4 from uuid import UUID, uuid4
if TYPE_CHECKING:
from langflow.services.database.models.api_key import ApiKey
class User(SQLModelSerializable, table=True): class User(SQLModelSerializable, table=True):
id: UUID = Field(default_factory=uuid4, primary_key=True, unique=True) id: UUID = Field(default_factory=uuid4, primary_key=True, unique=True)
@ -16,6 +19,7 @@ class User(SQLModelSerializable, table=True):
create_at: datetime = Field(default_factory=datetime.utcnow) create_at: datetime = Field(default_factory=datetime.utcnow)
updated_at: datetime = Field(default_factory=datetime.utcnow) updated_at: datetime = Field(default_factory=datetime.utcnow)
last_login_at: Optional[datetime] = Field() last_login_at: Optional[datetime] = Field()
api_keys: list["ApiKey"] = Relationship(back_populates="user")
class UserCreate(SQLModel): class UserCreate(SQLModel):