"""Kontrakt warstwy logicznej (widziany przez warstwę prezentacji).""" from __future__ import annotations from typing import Any from pydantic import BaseModel, Field class QueryRequest(BaseModel): """To, co przychodzi z formularza (przez warstwę prezentacji).""" query: str = Field(..., min_length=1, description="Szukana fraza.") field: str = Field("name", description="Po którym polu szukać.") exact: bool = False limit: int = Field(25, ge=1, le=200) class QueryResponse(BaseModel): """To, co wraca w górę do prezentacji.""" status: str = "ok" query: str count: int results: list[dict[str, Any]] meta: dict[str, Any] = Field(default_factory=dict)