Files
kontor/kontor-api/src/models/comics/artist.py
T
2025-04-21 17:39:20 +02:00

37 lines
790 B
Python

from typing import List, Dict
from uuid import UUID
from pydantic import BaseModel
from src.schema import Artist
class ArtistCreation(BaseModel):
name: str
class ArtistResponse(BaseModel):
id: UUID
name: str
class ArtistDetailResponse(BaseModel):
id: UUID
name: str
works: Dict[str, List[str]]
def get_artist_details(artist: Artist) -> ArtistDetailResponse:
works = {}
for work in artist.comic_works:
work_type = work.work_type.name
comic_title = work.comic.title
if work_type in works:
works[work_type].append(comic_title)
else:
works[work_type] = [comic_title]
response = ArtistDetailResponse(
id=artist.id,
name=artist.name,
works=works
)
return response