Source code for clash_royale.models.card

from __future__ import annotations

from pydantic import Field
from typing_extensions import Literal

from .base import CRBaseModel
from .common import Icon


[docs] class Card(CRBaseModel): """Represents a card in Clash Royale.""" name: str id: int max_level: int = Field(alias="maxLevel") max_evolution_level: int | None = Field(default=None, alias="maxEvolutionLevel") elixir_cost: int | None = Field( default=None, alias="elixirCost" ) # elxir_cost may be `None` due to the "mirror" card icon_urls: Icon = Field(alias="iconUrls") rarity: Literal["common", "rare", "epic", "legendary", "champion"]
[docs] class SupportCard(CRBaseModel): """Represents a support card in Clash Royale with additional attributes.""" name: str id: int level: int max_level: int = Field(alias="maxLevel") icon_urls: Icon = Field(alias="iconUrls") rarity: Literal["common", "rare", "epic", "legendary", "champion"]