mirror of
https://github.com/PaiGramTeam/PamGram.git
synced 2024-11-21 21:58:04 +00:00
60 lines
1.7 KiB
Python
60 lines
1.7 KiB
Python
import enum
|
|
|
|
from pydantic import BaseModel
|
|
from simnet.models.starrail.chronicle.challenge import StarRailChallenge
|
|
from simnet.models.starrail.chronicle.challenge_boss import StarRailChallengeBoss, StarRailChallengeBossGroup
|
|
from simnet.models.starrail.chronicle.challenge_story import StarRailChallengeStory, StarRailChallengeStoryGroup
|
|
from simnet.models.starrail.diary import StarRailDiary
|
|
|
|
from gram_core.services.history_data.models import HistoryData
|
|
|
|
__all__ = (
|
|
"HistoryData",
|
|
"HistoryDataTypeEnum",
|
|
"HistoryDataAbyss",
|
|
"HistoryDataChallengeStory",
|
|
"HistoryDataChallengeBoss",
|
|
"HistoryDataLedger",
|
|
)
|
|
|
|
|
|
class HistoryDataTypeEnum(int, enum.Enum):
|
|
ABYSS = 0 # 混沌回忆
|
|
CHALLENGE_STORY = 1 # 虚构叙事
|
|
LEDGER = 2 # 开拓月历
|
|
CHALLENGE_BOSS = 3 # 末日幻影
|
|
|
|
|
|
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)
|
|
|
|
|
|
class HistoryDataChallengeBoss(BaseModel):
|
|
boss_data: StarRailChallengeBoss
|
|
group: StarRailChallengeBossGroup
|
|
|
|
@classmethod
|
|
def from_data(cls, data: HistoryData) -> "HistoryDataChallengeBoss":
|
|
return cls.parse_obj(data.data)
|
|
|
|
|
|
class HistoryDataLedger(BaseModel):
|
|
diary_data: StarRailDiary
|
|
|
|
@classmethod
|
|
def from_data(cls, data: HistoryData) -> "HistoryDataLedger":
|
|
return cls.parse_obj(data.data)
|