1use prost::Message;
4
5#[derive(Clone, PartialEq, Message)]
7pub struct CPublishedFileGetDetailsRequest {
8 #[prost(fixed64, repeated, packed = "false", tag = "1")]
9 pub publishedfileids: Vec<u64>,
10 #[prost(bool, optional, tag = "2")]
11 pub includetags: Option<bool>,
12 #[prost(bool, optional, tag = "3")]
13 pub includeadditionalpreviews: Option<bool>,
14 #[prost(bool, optional, tag = "4")]
15 pub includechildren: Option<bool>,
16 #[prost(bool, optional, tag = "5")]
17 pub includekvtags: Option<bool>,
18 #[prost(bool, optional, tag = "6")]
19 pub includevotes: Option<bool>,
20 #[prost(bool, optional, tag = "8")]
21 pub short_description: Option<bool>,
22 #[prost(bool, optional, tag = "10")]
23 pub includeforsaledata: Option<bool>,
24 #[prost(bool, optional, tag = "11")]
25 pub includemetadata: Option<bool>,
26 #[prost(int32, optional, tag = "12")]
27 pub language: Option<i32>,
28 #[prost(uint32, optional, tag = "13")]
29 pub return_playtime_stats: Option<u32>,
30 #[prost(uint32, optional, tag = "14")]
31 pub appid: Option<u32>,
32 #[prost(bool, optional, tag = "15")]
33 pub strip_description_bbcode: Option<bool>,
34}
35
36#[derive(Clone, PartialEq, Message)]
38pub struct CPublishedFileGetDetailsResponse {
39 #[prost(message, repeated, tag = "1")]
40 pub publishedfiledetails: Vec<PublishedFileDetails>,
41}
42
43#[derive(Clone, PartialEq, Message)]
45pub struct PublishedFileDetails {
46 #[prost(uint32, optional, tag = "1")]
47 pub result: Option<u32>,
48 #[prost(uint64, optional, tag = "2")]
49 pub publishedfileid: Option<u64>,
50 #[prost(fixed64, optional, tag = "3")]
51 pub creator: Option<u64>,
52 #[prost(uint32, optional, tag = "4")]
53 pub creator_appid: Option<u32>,
54 #[prost(uint32, optional, tag = "5")]
55 pub consumer_appid: Option<u32>,
56 #[prost(uint32, optional, tag = "6")]
57 pub consumer_shortcutid: Option<u32>,
58 #[prost(string, optional, tag = "7")]
59 pub filename: Option<String>,
60 #[prost(uint64, optional, tag = "8")]
61 pub file_size: Option<u64>,
62 #[prost(uint64, optional, tag = "9")]
63 pub preview_file_size: Option<u64>,
64 #[prost(string, optional, tag = "10")]
65 pub file_url: Option<String>,
66 #[prost(string, optional, tag = "11")]
67 pub preview_url: Option<String>,
68 #[prost(string, optional, tag = "12")]
69 pub youtubevideoid: Option<String>,
70 #[prost(string, optional, tag = "13")]
71 pub url: Option<String>,
72 #[prost(fixed64, optional, tag = "14")]
73 pub hcontent_file: Option<u64>,
74 #[prost(fixed64, optional, tag = "15")]
75 pub hcontent_preview: Option<u64>,
76 #[prost(string, optional, tag = "16")]
77 pub title: Option<String>,
78 #[prost(string, optional, tag = "17")]
79 pub file_description: Option<String>,
80 #[prost(string, optional, tag = "18")]
81 pub short_description: Option<String>,
82 #[prost(uint32, optional, tag = "19")]
83 pub time_created: Option<u32>,
84 #[prost(uint32, optional, tag = "20")]
85 pub time_updated: Option<u32>,
86 #[prost(uint32, optional, tag = "21")]
87 pub visibility: Option<u32>,
88 #[prost(uint32, optional, tag = "22")]
89 pub flags: Option<u32>,
90 #[prost(bool, optional, tag = "23")]
91 pub workshop_file: Option<bool>,
92 #[prost(bool, optional, tag = "24")]
93 pub workshop_accepted: Option<bool>,
94 #[prost(bool, optional, tag = "28")]
95 pub banned: Option<bool>,
96 #[prost(string, optional, tag = "29")]
97 pub ban_reason: Option<String>,
98 #[prost(fixed64, optional, tag = "30")]
99 pub banner: Option<u64>,
100 #[prost(bool, optional, tag = "31")]
101 pub can_be_deleted: Option<bool>,
102 #[prost(string, optional, tag = "33")]
103 pub app_name: Option<String>,
104 #[prost(uint32, optional, tag = "34")]
105 pub file_type: Option<u32>,
106 #[prost(bool, optional, tag = "35")]
107 pub can_subscribe: Option<bool>,
108 #[prost(uint32, optional, tag = "36")]
109 pub subscriptions: Option<u32>,
110 #[prost(uint32, optional, tag = "37")]
111 pub favorited: Option<u32>,
112 #[prost(uint32, optional, tag = "38")]
113 pub followers: Option<u32>,
114 #[prost(uint32, optional, tag = "39")]
115 pub lifetime_subscriptions: Option<u32>,
116 #[prost(uint32, optional, tag = "40")]
117 pub lifetime_favorited: Option<u32>,
118 #[prost(uint32, optional, tag = "41")]
119 pub lifetime_followers: Option<u32>,
120 #[prost(uint32, optional, tag = "42")]
121 pub views: Option<u32>,
122 #[prost(message, repeated, tag = "52")]
123 pub tags: Vec<published_file_details::Tag>,
124 #[prost(message, repeated, tag = "54")]
125 pub kvtags: Vec<published_file_details::KvTag>,
126 #[prost(message, optional, tag = "55")]
127 pub vote_data: Option<published_file_details::VoteData>,
128}
129
130pub mod published_file_details {
131 use prost::Message;
132
133 #[derive(Clone, PartialEq, Message)]
134 pub struct Tag {
135 #[prost(string, optional, tag = "1")]
136 pub tag: Option<String>,
137 #[prost(bool, optional, tag = "2")]
138 pub adminonly: Option<bool>,
139 #[prost(string, optional, tag = "3")]
140 pub display_name: Option<String>,
141 }
142
143 #[derive(Clone, PartialEq, Message)]
144 pub struct KvTag {
145 #[prost(string, optional, tag = "1")]
146 pub key: Option<String>,
147 #[prost(string, optional, tag = "2")]
148 pub value: Option<String>,
149 }
150
151 #[derive(Clone, PartialEq, Message)]
152 pub struct VoteData {
153 #[prost(float, optional, tag = "1")]
154 pub score: Option<f32>,
155 #[prost(uint32, optional, tag = "2")]
156 pub votes_up: Option<u32>,
157 #[prost(uint32, optional, tag = "3")]
158 pub votes_down: Option<u32>,
159 }
160}