feat(models): add UserAgentCatalog model
This commit is contained in:
@@ -16,6 +16,7 @@ from models.schedule_subscriptions import ScheduleSubscription
|
|||||||
from models.todos import Todo
|
from models.todos import Todo
|
||||||
from models.todo_sources import TodoSource
|
from models.todo_sources import TodoSource
|
||||||
from models.user_agents import UserAgent
|
from models.user_agents import UserAgent
|
||||||
|
from models.user_agent_catalog import UserAgentCatalog
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"AgentChatMessage",
|
"AgentChatMessage",
|
||||||
@@ -35,4 +36,5 @@ __all__ = [
|
|||||||
"Todo",
|
"Todo",
|
||||||
"TodoSource",
|
"TodoSource",
|
||||||
"UserAgent",
|
"UserAgent",
|
||||||
|
"UserAgentCatalog",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from sqlalchemy import ForeignKey, String
|
||||||
|
from sqlalchemy.dialects.postgresql import JSONB, UUID
|
||||||
|
from sqlalchemy.orm import Mapped, mapped_column
|
||||||
|
|
||||||
|
from core.db.base import Base, TimestampMixin
|
||||||
|
|
||||||
|
|
||||||
|
class UserAgentCatalog(TimestampMixin, Base):
|
||||||
|
__tablename__: str = "user_agent_catalog"
|
||||||
|
|
||||||
|
agent_type: Mapped[str] = mapped_column(
|
||||||
|
String(20),
|
||||||
|
primary_key=True,
|
||||||
|
)
|
||||||
|
llm_id: Mapped[str] = mapped_column(
|
||||||
|
UUID(as_uuid=True),
|
||||||
|
ForeignKey("llms.id", ondelete="RESTRICT"),
|
||||||
|
nullable=False,
|
||||||
|
)
|
||||||
|
status: Mapped[str] = mapped_column(
|
||||||
|
String(20),
|
||||||
|
nullable=False,
|
||||||
|
)
|
||||||
|
config: Mapped[dict] = mapped_column(
|
||||||
|
JSONB,
|
||||||
|
nullable=False,
|
||||||
|
server_default="{}",
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user