Pipeline/backend/app/schemas/bot.py

44 lines
887 B
Python
Raw Permalink Normal View History

2026-05-26 15:41:24 -05:00
"""Schemas for bot API keys and project reports."""
from __future__ import annotations
from datetime import datetime
from typing import Any
from uuid import UUID
from sqlmodel import Field, SQLModel
class BotApiKeyCreate(SQLModel):
name: str
class BotApiKeyRead(SQLModel):
id: UUID
name: str
key_last_four: str
created_at: datetime
last_used_at: datetime | None
class BotApiKeyCreated(BotApiKeyRead):
"""Returned once on creation — includes the plaintext key, never stored."""
key: str
class BotReportCreate(SQLModel):
project: str | None = None
task: str | None = None
status: str | None = "busy"
detail: dict[str, Any] | None = None
class BotReportRead(SQLModel):
id: UUID
key_id: UUID
project: str | None
task: str | None
status: str | None
detail: dict[str, Any] | None
reported_at: datetime