feat: add validation for minimum length on various fields and update type definitions
This commit is contained in:
@@ -5,6 +5,8 @@ from uuid import UUID, uuid4
|
||||
|
||||
from sqlmodel import Field, SQLModel
|
||||
|
||||
from app.core.time import utcnow
|
||||
|
||||
|
||||
class ActivityEvent(SQLModel, table=True):
|
||||
__tablename__ = "activity_events"
|
||||
@@ -14,4 +16,4 @@ class ActivityEvent(SQLModel, table=True):
|
||||
message: str | None = None
|
||||
agent_id: UUID | None = Field(default=None, foreign_key="agents.id", index=True)
|
||||
task_id: UUID | None = Field(default=None, foreign_key="tasks.id", index=True)
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
created_at: datetime = Field(default_factory=utcnow)
|
||||
|
||||
@@ -7,6 +7,8 @@ from uuid import UUID, uuid4
|
||||
from sqlalchemy import JSON, Column, Text
|
||||
from sqlmodel import Field, SQLModel
|
||||
|
||||
from app.core.time import utcnow
|
||||
|
||||
|
||||
class Agent(SQLModel, table=True):
|
||||
__tablename__ = "agents"
|
||||
@@ -28,5 +30,5 @@ class Agent(SQLModel, table=True):
|
||||
delete_confirm_token_hash: str | None = Field(default=None, index=True)
|
||||
last_seen_at: datetime | None = Field(default=None)
|
||||
is_board_lead: bool = Field(default=False, index=True)
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
created_at: datetime = Field(default_factory=utcnow)
|
||||
updated_at: datetime = Field(default_factory=utcnow)
|
||||
|
||||
@@ -6,6 +6,8 @@ from uuid import UUID, uuid4
|
||||
from sqlalchemy import JSON, Column
|
||||
from sqlmodel import Field, SQLModel
|
||||
|
||||
from app.core.time import utcnow
|
||||
|
||||
|
||||
class Approval(SQLModel, table=True):
|
||||
__tablename__ = "approvals"
|
||||
@@ -18,5 +20,5 @@ class Approval(SQLModel, table=True):
|
||||
confidence: int
|
||||
rubric_scores: dict[str, int] | None = Field(default=None, sa_column=Column(JSON))
|
||||
status: str = Field(default="pending", index=True)
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
created_at: datetime = Field(default_factory=utcnow)
|
||||
resolved_at: datetime | None = None
|
||||
|
||||
@@ -6,6 +6,8 @@ from uuid import UUID, uuid4
|
||||
from sqlalchemy import JSON, Column
|
||||
from sqlmodel import Field, SQLModel
|
||||
|
||||
from app.core.time import utcnow
|
||||
|
||||
|
||||
class BoardMemory(SQLModel, table=True):
|
||||
__tablename__ = "board_memory"
|
||||
@@ -15,4 +17,4 @@ class BoardMemory(SQLModel, table=True):
|
||||
content: str
|
||||
tags: list[str] | None = Field(default=None, sa_column=Column(JSON))
|
||||
source: str | None = None
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
created_at: datetime = Field(default_factory=utcnow)
|
||||
|
||||
@@ -6,6 +6,8 @@ from uuid import UUID, uuid4
|
||||
from sqlalchemy import JSON, Column
|
||||
from sqlmodel import Field, SQLModel
|
||||
|
||||
from app.core.time import utcnow
|
||||
|
||||
|
||||
class BoardOnboardingSession(SQLModel, table=True):
|
||||
__tablename__ = "board_onboarding_sessions"
|
||||
@@ -16,5 +18,5 @@ class BoardOnboardingSession(SQLModel, table=True):
|
||||
status: str = Field(default="active", index=True)
|
||||
messages: list[dict[str, object]] | None = Field(default=None, sa_column=Column(JSON))
|
||||
draft_goal: dict[str, object] | None = Field(default=None, sa_column=Column(JSON))
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
created_at: datetime = Field(default_factory=utcnow)
|
||||
updated_at: datetime = Field(default_factory=utcnow)
|
||||
|
||||
@@ -6,6 +6,7 @@ from uuid import UUID, uuid4
|
||||
from sqlalchemy import JSON, Column
|
||||
from sqlmodel import Field
|
||||
|
||||
from app.core.time import utcnow
|
||||
from app.models.tenancy import TenantScoped
|
||||
|
||||
|
||||
@@ -22,5 +23,5 @@ class Board(TenantScoped, table=True):
|
||||
target_date: datetime | None = None
|
||||
goal_confirmed: bool = Field(default=False)
|
||||
goal_source: str | None = None
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
created_at: datetime = Field(default_factory=utcnow)
|
||||
updated_at: datetime = Field(default_factory=utcnow)
|
||||
|
||||
@@ -5,6 +5,8 @@ from uuid import UUID, uuid4
|
||||
|
||||
from sqlmodel import Field, SQLModel
|
||||
|
||||
from app.core.time import utcnow
|
||||
|
||||
|
||||
class Gateway(SQLModel, table=True):
|
||||
__tablename__ = "gateways"
|
||||
@@ -16,5 +18,5 @@ class Gateway(SQLModel, table=True):
|
||||
main_session_key: str
|
||||
workspace_root: str
|
||||
skyll_enabled: bool = Field(default=False)
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
created_at: datetime = Field(default_factory=utcnow)
|
||||
updated_at: datetime = Field(default_factory=utcnow)
|
||||
|
||||
@@ -5,6 +5,8 @@ from uuid import UUID, uuid4
|
||||
|
||||
from sqlmodel import Field, SQLModel
|
||||
|
||||
from app.core.time import utcnow
|
||||
|
||||
|
||||
class TaskFingerprint(SQLModel, table=True):
|
||||
__tablename__ = "task_fingerprints"
|
||||
@@ -13,4 +15,4 @@ class TaskFingerprint(SQLModel, table=True):
|
||||
board_id: UUID = Field(foreign_key="boards.id", index=True)
|
||||
fingerprint_hash: str = Field(index=True)
|
||||
task_id: UUID = Field(foreign_key="tasks.id")
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
created_at: datetime = Field(default_factory=utcnow)
|
||||
|
||||
@@ -6,6 +6,7 @@ from uuid import UUID, uuid4
|
||||
from sqlmodel import Field
|
||||
|
||||
from app.models.tenancy import TenantScoped
|
||||
from app.core.time import utcnow
|
||||
|
||||
|
||||
class Task(TenantScoped, table=True):
|
||||
@@ -26,5 +27,5 @@ class Task(TenantScoped, table=True):
|
||||
auto_created: bool = Field(default=False)
|
||||
auto_reason: str | None = None
|
||||
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
updated_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
created_at: datetime = Field(default_factory=utcnow)
|
||||
updated_at: datetime = Field(default_factory=utcnow)
|
||||
|
||||
Reference in New Issue
Block a user