Files

36 lines
1.0 KiB
Python

"""Agent configuration model for VoIdea."""
from datetime import datetime
from typing import Optional
from sqlalchemy import Boolean, DateTime, String, Text
from sqlalchemy.orm import Mapped, mapped_column
from app.core.base import SQLBase, TimestampMixin, UUIDMixin
class AgentConfig(SQLBase, UUIDMixin, TimestampMixin):
__tablename__ = "agent_configs"
agent_name: Mapped[str] = mapped_column(
String(100), unique=True, nullable=False, index=True
)
description: Mapped[Optional[str]] = mapped_column(
Text, nullable=True, default=""
)
is_enabled: Mapped[bool] = mapped_column(
Boolean, default=True, nullable=False
)
version: Mapped[str] = mapped_column(
String(20), default="1.0.0", nullable=False
)
checksum: Mapped[Optional[str]] = mapped_column(
String(64), nullable=True
)
config: Mapped[Optional[str]] = mapped_column(
Text, nullable=True
)
last_run_at: Mapped[Optional[datetime]] = mapped_column(
DateTime(timezone=True), nullable=True
)