from datetime import datetime from typing import Optional from pydantic import BaseModel # Shared properties class ArtistBase(BaseModel): name: str bio: Optional[str] = None image: Optional[str] = None # Properties to receive via API on creation class ArtistCreate(ArtistBase): pass # Properties to receive via API on update class ArtistUpdate(ArtistBase): name: Optional[str] = None class ArtistInDBBase(ArtistBase): id: str created_at: datetime updated_at: Optional[datetime] = None class Config: from_attributes = True # Additional properties to return via API class Artist(ArtistInDBBase): pass # Additional properties stored in DB class ArtistInDB(ArtistInDBBase): pass