from typing import Optional, List from pydantic import BaseModel, Field, validator from datetime import datetime class Pin(BaseModel): id: Optional[str] title: str = Field(..., min_length=3) description: str = Field(..., min_length=3) location: list = Field(..., min_items=2) complete_address: str = Field(..., min_length=3) files: Optional[List[str]] = [] # Liste des IDs d'images user_id: str date: Optional[datetime] = None @validator('location') def validate_location(cls, v): if not v or len(v) == 0: raise ValueError('La location ne peut pas ĂȘtre vide') return v