2026-02-09 15:49:50 +05:30
|
|
|
"""Schemas for board memory create/read API payloads."""
|
|
|
|
|
|
2026-02-05 14:40:48 +05:30
|
|
|
from __future__ import annotations
|
|
|
|
|
|
2026-02-09 15:49:50 +05:30
|
|
|
from datetime import datetime # noqa: TCH003
|
|
|
|
|
from uuid import UUID # noqa: TCH003
|
2026-02-05 14:40:48 +05:30
|
|
|
|
|
|
|
|
from sqlmodel import SQLModel
|
|
|
|
|
|
2026-02-09 15:49:50 +05:30
|
|
|
from app.schemas.common import NonEmptyStr # noqa: TCH001
|
2026-02-06 16:12:04 +05:30
|
|
|
|
2026-02-05 14:40:48 +05:30
|
|
|
|
|
|
|
|
class BoardMemoryCreate(SQLModel):
|
2026-02-09 15:49:50 +05:30
|
|
|
"""Payload for creating a board memory entry."""
|
|
|
|
|
|
2026-02-06 19:11:11 +05:30
|
|
|
# For writes, reject blank/whitespace-only content.
|
2026-02-06 16:12:04 +05:30
|
|
|
content: NonEmptyStr
|
2026-02-05 14:40:48 +05:30
|
|
|
tags: list[str] | None = None
|
|
|
|
|
source: str | None = None
|
|
|
|
|
|
|
|
|
|
|
2026-02-06 19:11:11 +05:30
|
|
|
class BoardMemoryRead(SQLModel):
|
2026-02-09 15:49:50 +05:30
|
|
|
"""Serialized board memory entry returned from read endpoints."""
|
|
|
|
|
|
2026-02-05 14:40:48 +05:30
|
|
|
id: UUID
|
|
|
|
|
board_id: UUID
|
2026-02-09 15:49:50 +05:30
|
|
|
# For reads, allow legacy rows that may have empty content
|
|
|
|
|
# (avoid response validation 500s).
|
2026-02-06 19:11:11 +05:30
|
|
|
content: str
|
|
|
|
|
tags: list[str] | None = None
|
|
|
|
|
source: str | None = None
|
|
|
|
|
is_chat: bool = False
|
2026-02-05 14:40:48 +05:30
|
|
|
created_at: datetime
|