33 lines
1.7 KiB
Python
33 lines
1.7 KiB
Python
from __future__ import annotations
|
|
|
|
from sqlalchemy import Text
|
|
from sqlalchemy.orm import Mapped, mapped_column
|
|
|
|
from app.db.base import Base
|
|
|
|
|
|
class Task(Base):
|
|
__tablename__ = "task"
|
|
|
|
task_id: Mapped[str] = mapped_column(Text, primary_key=True)
|
|
session_id: Mapped[str] = mapped_column(Text, nullable=False, index=True)
|
|
tenant_id: Mapped[str] = mapped_column(Text, nullable=False, index=True)
|
|
request_id: Mapped[str | None] = mapped_column(Text, nullable=True)
|
|
input_text: Mapped[str] = mapped_column(Text, nullable=False)
|
|
channel: Mapped[str] = mapped_column(Text, nullable=False)
|
|
action_type: Mapped[str | None] = mapped_column(Text, nullable=True)
|
|
app_code: Mapped[str | None] = mapped_column(Text, nullable=True)
|
|
env: Mapped[str | None] = mapped_column(Text, nullable=True)
|
|
version: Mapped[str | None] = mapped_column(Text, nullable=True)
|
|
software_a_task_id: Mapped[str | None] = mapped_column(Text, nullable=True)
|
|
software_a_task_status: Mapped[str | None] = mapped_column(Text, nullable=True)
|
|
risk_level: Mapped[str] = mapped_column(Text, nullable=False)
|
|
approval_status: Mapped[str] = mapped_column(Text, nullable=False)
|
|
task_status: Mapped[str] = mapped_column(Text, nullable=False, index=True)
|
|
parsed_intent_json: Mapped[str] = mapped_column(Text, nullable=False)
|
|
missing_slots_json: Mapped[str] = mapped_column(Text, nullable=False)
|
|
summary: Mapped[str | None] = mapped_column(Text, nullable=True)
|
|
created_at: Mapped[str] = mapped_column(Text, nullable=False, index=True)
|
|
updated_at: Mapped[str] = mapped_column(Text, nullable=False)
|
|
confirmed_at: Mapped[str | None] = mapped_column(Text, nullable=True)
|