from pydantic import BaseModel, Field from typing import Optional from datetime import datetime class SpaceBase(BaseModel): name: str = Field(..., min_length=1, max_length=200) description: Optional[str] = Field(None, max_length=2000) class SpaceCreate(SpaceBase): pass class SpaceUpdate(BaseModel): name: Optional[str] = Field(None, min_length=1, max_length=200) description: Optional[str] = Field(None, max_length=2000) class SpaceResponse(SpaceBase): id: str owner_id: str is_active: bool created_at: datetime updated_at: datetime class Config: from_attributes = True class SpaceWithOwner(SpaceResponse): owner_name: Optional[str] = None