Source code for bungieapi.generated.components.schemas.destiny.artifacts

# generated by update to not change manually
import dataclasses as dt
import typing as t

from bungieapi.json import to_json


[docs]@dt.dataclass(frozen=True) class DestinyArtifactProfileScoped: """Represents a Seasonal Artifact and all data related to it for the requested Account. It can be combined with Character-scoped data for a full picture of what a character has available/has chosen, or just these settings can be used for overview information. """ artifact_hash: t.Optional[int] = None point_progression: t.Optional["DestinyProgression"] = None points_acquired: t.Optional[int] = None power_bonus: t.Optional[int] = None power_bonus_progression: t.Optional["DestinyProgression"] = None
[docs] def to_json(self) -> t.Mapping[str, t.Any]: return { "artifactHash": to_json(self.artifact_hash), "pointProgression": to_json(self.point_progression), "pointsAcquired": to_json(self.points_acquired), "powerBonusProgression": to_json(self.power_bonus_progression), "powerBonus": to_json(self.power_bonus), }
[docs]@dt.dataclass(frozen=True) class DestinyArtifactCharacterScoped: artifact_hash: t.Optional[int] = None points_used: t.Optional[int] = None reset_count: t.Optional[int] = None tiers: t.Optional[t.Sequence["DestinyArtifactTier"]] = None
[docs] def to_json(self) -> t.Mapping[str, t.Any]: return { "artifactHash": to_json(self.artifact_hash), "pointsUsed": to_json(self.points_used), "resetCount": to_json(self.reset_count), "tiers": to_json(self.tiers), }
[docs]@dt.dataclass(frozen=True) class DestinyArtifactTier: is_unlocked: t.Optional[bool] = None items: t.Optional[t.Sequence["DestinyArtifactTierItem"]] = None points_to_unlock: t.Optional[int] = None tier_hash: t.Optional[int] = None
[docs] def to_json(self) -> t.Mapping[str, t.Any]: return { "tierHash": to_json(self.tier_hash), "isUnlocked": to_json(self.is_unlocked), "pointsToUnlock": to_json(self.points_to_unlock), "items": to_json(self.items), }
[docs]@dt.dataclass(frozen=True) class DestinyArtifactTierItem: is_active: t.Optional[bool] = None item_hash: t.Optional[int] = None
[docs] def to_json(self) -> t.Mapping[str, t.Any]: return { "itemHash": to_json(self.item_hash), "isActive": to_json(self.is_active), }
# imported at the end to do not case circular imports for type annotations from bungieapi.generated.components.schemas.destiny import ( DestinyProgression, ) # noqa: E402