2025-06-05 14:29:01 +00:00

43 lines
839 B
Python

from datetime import datetime
from typing import Optional
from pydantic import BaseModel
# Shared properties
class AlbumBase(BaseModel):
title: str
artist_id: str
release_year: Optional[int] = None
cover_image: Optional[str] = None
description: Optional[str] = None
# Properties to receive via API on creation
class AlbumCreate(AlbumBase):
pass
# Properties to receive via API on update
class AlbumUpdate(AlbumBase):
title: Optional[str] = None
artist_id: Optional[str] = None
class AlbumInDBBase(AlbumBase):
id: str
created_at: datetime
updated_at: Optional[datetime] = None
class Config:
from_attributes = True
# Additional properties to return via API
class Album(AlbumInDBBase):
pass
# Additional properties stored in DB
class AlbumInDB(AlbumInDBBase):
pass