"""RAG bilgi tabanı request/response şemaları."""
from datetime import datetime

from pydantic import BaseModel, ConfigDict, Field


class CreateFaqRequest(BaseModel):
    title: str = Field(min_length=1, max_length=500)
    content: str = Field(min_length=1)


class CreateManualRequest(BaseModel):
    title: str = Field(min_length=1, max_length=500)
    content: str = Field(min_length=1)


class CreateUrlRequest(BaseModel):
    title: str | None = Field(default=None, max_length=500)
    url: str = Field(min_length=1, max_length=1000)


class SourceResponse(BaseModel):
    model_config = ConfigDict(from_attributes=True)

    id: str
    source_type: str
    title: str | None
    url: str | None
    status: str
    chunk_count: int
    last_indexed_at: datetime | None
    error_message: str | None
    created_at: datetime


class SearchResultItem(BaseModel):
    chunk_id: str
    source_id: str
    source_type: str
    content: str
    score: float
    meta: dict | None
