from typing import Optional from pydantic import BaseModel # Shared properties class ArtistBase(BaseModel): name: Optional[str] = None bio: Optional[str] = None image_path: Optional[str] = None # Properties to receive on artist creation class ArtistCreate(ArtistBase): name: str # Properties to receive on artist update class ArtistUpdate(ArtistBase): pass class ArtistInDBBase(ArtistBase): id: int name: str class Config: from_attributes = True # Properties to return to client class Artist(ArtistInDBBase): pass # Properties stored in DB class ArtistInDB(ArtistInDBBase): pass