Source code for veedb.apitypes.entities.staff

# src/veedb/apitypes/entities/staff.py
from dataclasses import dataclass, field
from typing import List, Optional, Literal

from ..common import VNDBID, Extlink, LanguageEnum # Assuming Enums are in common or defined here

StaffGenderEnum = Literal["m", "f"]

[docs] @dataclass class StaffAlias: aid: int # Alias ID # Optional — only present when explicitly requested in `fields=`. name: Optional[str] = None # Name in original script ismain: Optional[bool] = None # Whether this alias is the "main" name latin: Optional[str] = None # Romanized version of 'name'
[docs] @dataclass class Staff: id: VNDBID # Main staff ID (e.g., "s81") aid: Optional[int] = None # Alias ID for the specific name returned in this result ismain: Optional[bool] = None # Whether the 'name' and 'original' fields are the main name name: Optional[str] = None # Possibly romanized name (depends on ismain and specific alias) original: Optional[str] = None # Name in original script (depends on ismain and specific alias) lang: Optional[LanguageEnum] = None # Staff's primary language gender: Optional[StaffGenderEnum] = None description: Optional[str] = None # May contain formatting codes extlinks: List[Extlink] = field(default_factory=list) aliases: List[StaffAlias] = field(default_factory=list) # Full list of names for this person