1use crate::model::enums::{GameCategory, Status};
2use std::vec::Vec;
3
4#[derive(Deserialize, Debug, Clone)]
5pub struct Game {
6 #[serde(default)]
7 pub age_ratings: Vec<usize>,
8 #[serde(default)]
9 pub aggregated_rating: f32,
10 #[serde(default)]
11 pub aggregated_rating_count: usize,
12 #[serde(default)]
13 pub alternative_names: Vec<usize>,
14 #[serde(default)]
15 pub artworks: Vec<usize>,
16 #[serde(default)]
17 pub bundles: Vec<usize>,
18 #[serde(default)]
19 pub category: GameCategory,
20 #[serde(default)]
21 pub collection: usize,
22 #[serde(default)]
23 pub cover: usize,
24 #[serde(default)]
25 pub created_at: u64,
26 #[serde(default)]
27 pub dlcs: Vec<usize>,
28 #[serde(default)]
29 pub external_games: Vec<usize>,
30 #[serde(default)]
31 pub first_release_date: u64,
32 #[serde(default)]
33 pub follows: usize,
34 #[serde(default)]
35 pub franchise: usize,
36 #[serde(default)]
37 pub franchises: Vec<usize>,
38 #[serde(default)]
39 pub game_engines: Vec<usize>,
40 #[serde(default)]
41 pub game_modes: Vec<usize>,
42 #[serde(default)]
43 pub genres: Vec<usize>,
44 #[serde(default)]
45 pub hypes: usize,
46 #[serde(default)]
47 pub id: usize,
48 #[serde(default)]
49 pub involved_companies: Vec<usize>,
50 #[serde(default)]
51 pub keywords: Vec<usize>,
52 #[serde(default)]
53 pub multiplayer_modes: Vec<usize>,
54 #[serde(default)]
55 pub name: String,
56 #[serde(default)]
57 pub parent_game: usize,
58 #[serde(default)]
59 pub platforms: Vec<usize>,
60 #[serde(default)]
61 pub player_perspectives: Vec<usize>,
62 #[serde(default)]
63 pub rating: f32,
64 #[serde(default)]
65 pub rating_count: usize,
66 #[serde(default)]
67 pub release_dates: Vec<usize>,
68 #[serde(default)]
69 pub screenshots: Vec<usize>,
70 #[serde(default)]
71 pub similar_games: Vec<usize>,
72 #[serde(default)]
73 pub slug: String,
74 #[serde(default)]
75 pub standalone_expansions: Vec<usize>,
76 #[serde(default)]
77 pub status: Status,
78 #[serde(default)]
79 pub storyline: String,
80 #[serde(default)]
81 pub summary: String,
82 #[serde(default)]
83 pub tags: Vec<usize>,
84 #[serde(default)]
85 pub themes: Vec<usize>,
86 #[serde(default)]
87 pub total_rating: f32,
88 #[serde(default)]
89 pub total_rating_count: usize,
90 #[serde(default)]
91 pub updated_at: u64,
92 #[serde(default)]
93 pub url: String,
94 #[serde(default)]
95 pub version_parent: usize,
96 #[serde(default)]
97 pub version_title: String,
98 #[serde(default)]
99 pub videos: Vec<usize>,
100 #[serde(default)]
101 pub websites: Vec<usize>,
102}