from __future__ import annotations from pydantic import BaseModel, ConfigDict, field_validator class ContactConfigOut(BaseModel): model_config = ConfigDict(from_attributes=True) address_street: str | None = None address_neighborhood_city: str | None = None address_zip: str | None = None phone: str | None = None email: str | None = None business_hours: str | None = None class ContactConfigIn(BaseModel): address_street: str | None = None address_neighborhood_city: str | None = None address_zip: str | None = None phone: str | None = None email: str | None = None business_hours: str | None = None @field_validator("email") @classmethod def validate_email(cls, v: str | None) -> str | None: if v is None: return v import re v = v.strip().lower() if v and not re.match(r"^[^@\s]+@[^@\s]+\.[^@\s]+$", v): raise ValueError("E-mail inválido.") return v or None @field_validator("phone") @classmethod def validate_phone(cls, v: str | None) -> str | None: if v is None: return v v = v.strip() return v or None