from dataclasses import dataclass, field from datetime import date from typing import Optional, List from marshmallow import EXCLUDE @dataclass class DelphiTrackSearchQueryParams: product_id: int sort_order: str sort_by: str group_by: str @dataclass class DelphiTrackSchema: isrc: str name: str release_date: Optional[date] type: str = field(metadata={"data_key": "track_type_name"}) details: Optional[str] = field(metadata={"data_key": "track_name_suppl"}) class Meta: unknown = EXCLUDE @dataclass class DelphiTracksResponseSchema: items: List[DelphiTrackSchema] class Meta: unknown = EXCLUDE