from pydantic import BaseModel from typing import List, Optional, Union from datetime import datetime class User(BaseModel): """Pydantic model for user data. Created from the user response (`/api/v1/user/x`), some values might be unused.""" Admin: bool = True Banned: bool = False BulletSpr: int = 0 CapeColor: int = 0 Costume: int = 0 Country: int = 0 CreatedAt: str = datetime.strftime(datetime.now(), "%Y-%m-%dT%H:%M:%SZ") DeathEffect: int = 0 DeletedAt: Optional[str] = None FacialExpression: int = 0 Followed: bool = False FollowerColor: int = 0 FollowerSpr: int = 0 GunSpr: int = 0 HairColor: int = 0 HairSpr: int = 0 HatColor: int = 0 HatColorInv: int = 0 HatSpr: int = 0 ID: int = 0 NumMapsClear: int = 0 NumMapsCreated: int = 0 NumSpeedrunRecords: int = 0 PantsColor: int = 0 RecordEndurance0: int = 0 RecordEndurance1: int = 0 RecordEndurance2: int = 0 RecordEndurance3: int = 0 RecordExplorer: int = 0 RecordHardcore: int = 0 RecordRoulette: int = 0 RecordScribble0: int = 0 RecordScribble1: int = 0 RecordScribble2: int = 0 RecordScribble3: int = 0 SaveEffect: int = 0 ShirtColor: int = 0 ShoesColor: int = 0 SkinColor: int = 0 SwordSpr: int = 0 TextSnd: int = 0 Unlocks: str = "" UpdatedAt: str = datetime.strftime(datetime.now(), "%Y-%m-%dT%H:%M:%SZ") Username: str = "magmaus3" Email: str = "user@example.com" # Ratings have to be stored in the following format: {mapID: rating}, # where rating is either 1 or 5, or None. Ratings: dict = {} class Notification(BaseModel): """Pydantic model for Notifications Available notification types: - 0: took your record on with time