-
Notifications
You must be signed in to change notification settings - Fork 55
Expand file tree
/
Copy pathmodels.py
More file actions
106 lines (83 loc) · 2.56 KB
/
models.py
File metadata and controls
106 lines (83 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
from datetime import datetime
from enum import Enum
from typing import Any, List, Optional
from xbox.webapi.common.models import CamelCaseModel, PascalCaseModel
class TitleFields(str, Enum):
SERVICE_CONFIG_ID = "scid"
ACHIEVEMENT = "achievement"
STATS = "stats"
GAME_PASS = "gamepass"
IMAGE = "image"
DETAIL = "detail"
FRIENDS_WHO_PLAYED = "friendswhoplayed"
ALTERNATE_TITLE_ID = "alternateTitleId"
PRODUCT_ID = "productId"
CONTENT_BOARD = "contentBoard"
class Achievement(CamelCaseModel):
current_achievements: int
total_achievements: int
current_gamerscore: int
total_gamerscore: int
progress_percentage: float
source_version: int
class Stats(CamelCaseModel):
source_version: int
class GamePass(CamelCaseModel):
is_game_pass: bool
class Image(CamelCaseModel):
url: str
type: str
class TitleHistory(CamelCaseModel):
last_time_played: datetime
visible: bool
can_hide: bool
class Attribute(CamelCaseModel):
applicable_platforms: Optional[List[str]] = None
maximum: Optional[int] = None
minimum: Optional[int] = None
name: str
class Availability(PascalCaseModel):
actions: List[str]
availability_id: str
platforms: List[str]
sku_id: str
class Detail(CamelCaseModel):
attributes: List[Attribute]
availabilities: List[Availability]
capabilities: List[str]
description: str
developer_name: str | None = None
genres: Optional[List[str]] = None
publisher_name: str
min_age: int | None = None
release_date: Optional[datetime] = None
short_description: Optional[str] = None
vui_display_name: Optional[str] = None
xbox_live_gold_required: bool
class Title(CamelCaseModel):
title_id: str
pfn: Optional[str] = None
bing_id: Optional[str] = None
service_config_id: Optional[str] = None
windows_phone_product_id: Optional[str] = None
name: str
type: str
devices: List[str]
display_image: str
media_item_type: str
modern_title_id: Optional[str] = None
is_bundle: bool
achievement: Optional[Achievement] = None
stats: Optional[Stats] = None
game_pass: Optional[GamePass] = None
images: Optional[List[Image]] = None
title_history: Optional[TitleHistory] = None
detail: Optional[Detail] = None
friends_who_played: Any = None
alternate_title_ids: Any = None
content_boards: Any = None
xbox_live_tier: Optional[str] = None
is_streamable: Optional[bool] = None
class TitleHubResponse(CamelCaseModel):
xuid: Optional[str] = None
titles: List[Title]