from datetime import datetime from pydantic import BaseModel, Field class TargetBase(BaseModel): name: str host: str port: int = 5432 dbname: str username: str sslmode: str = "prefer" tags: dict = Field(default_factory=dict) class TargetCreate(TargetBase): password: str class TargetUpdate(BaseModel): name: str | None = None host: str | None = None port: int | None = None dbname: str | None = None username: str | None = None password: str | None = None sslmode: str | None = None tags: dict | None = None class TargetOut(TargetBase): id: int created_at: datetime model_config = {"from_attributes": True}