PamGram/core/services/history_data/models.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

48 lines
1.3 KiB
Python
Raw Normal View History

import enum
from pydantic import BaseModel
from simnet.models.starrail.chronicle.challenge import StarRailChallenge
from simnet.models.starrail.chronicle.challenge_story import StarRailChallengeStory, StarRailChallengeStoryGroup
2024-05-24 12:31:53 +00:00
from simnet.models.starrail.diary import StarRailDiary
from gram_core.services.history_data.models import HistoryData
__all__ = (
"HistoryData",
"HistoryDataTypeEnum",
"HistoryDataAbyss",
"HistoryDataChallengeStory",
2024-05-24 12:31:53 +00:00
"HistoryDataLedger",
)
class HistoryDataTypeEnum(int, enum.Enum):
ABYSS = 0 # 混沌回忆
CHALLENGE_STORY = 1 # 虚构叙事
2024-05-24 12:31:53 +00:00
LEDGER = 2 # 开拓月历
class HistoryDataAbyss(BaseModel):
abyss_data: StarRailChallenge
@classmethod
def from_data(cls, data: HistoryData) -> "HistoryDataAbyss":
return cls.parse_obj(data.data)
class HistoryDataChallengeStory(BaseModel):
story_data: StarRailChallengeStory
group: StarRailChallengeStoryGroup
@classmethod
def from_data(cls, data: HistoryData) -> "HistoryDataChallengeStory":
return cls.parse_obj(data.data)
2024-05-24 12:31:53 +00:00
class HistoryDataLedger(BaseModel):
diary_data: StarRailDiary
@classmethod
def from_data(cls, data: HistoryData) -> "HistoryDataLedger":
return cls.parse_obj(data.data)