1use crate::client::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CustomConfigParameters {
16 #[serde(rename = "absoluteAndRelativeDates", skip_serializing_if = "Option::is_none")]
17 pub absolute_and_relative_dates: Option<bool>,
18 #[serde(rename = "absoluteDates", skip_serializing_if = "Option::is_none")]
19 pub absolute_dates: Option<bool>,
20 #[serde(rename = "allowAnon", skip_serializing_if = "Option::is_none")]
21 pub allow_anon: Option<bool>,
22 #[serde(rename = "allowAnonFlag", skip_serializing_if = "Option::is_none")]
23 pub allow_anon_flag: Option<bool>,
24 #[serde(rename = "allowAnonVotes", skip_serializing_if = "Option::is_none")]
25 pub allow_anon_votes: Option<bool>,
26 #[serde(rename = "allowedLanguages", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
27 pub allowed_languages: Option<Option<Vec<String>>>,
28 #[serde(rename = "collapseReplies", skip_serializing_if = "Option::is_none")]
29 pub collapse_replies: Option<bool>,
30 #[serde(rename = "commentCountFormat", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
31 pub comment_count_format: Option<Option<String>>,
32 #[serde(rename = "commentHTMLRenderingMode", skip_serializing_if = "Option::is_none")]
33 pub comment_html_rendering_mode: Option<models::CommentHtmlRenderingMode>,
34 #[serde(rename = "commentThreadDeleteMode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
35 pub comment_thread_delete_mode: Option<Option<models::CommentThreadDeletionMode>>,
36 #[serde(rename = "commenterNameFormat", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
37 pub commenter_name_format: Option<Option<models::CommenterNameFormats>>,
38 #[serde(rename = "countAboveToggle", skip_serializing_if = "Option::is_none")]
39 pub count_above_toggle: Option<i32>,
40 #[serde(rename = "customCSS", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
41 pub custom_css: Option<Option<String>>,
42 #[serde(rename = "defaultAvatarSrc", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
43 pub default_avatar_src: Option<Option<String>>,
44 #[serde(rename = "defaultSortDirection", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
45 pub default_sort_direction: Option<Option<models::SortDirections>>,
46 #[serde(rename = "defaultUsername", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
47 pub default_username: Option<Option<String>>,
48 #[serde(rename = "disableAutoAdminMigration", skip_serializing_if = "Option::is_none")]
49 pub disable_auto_admin_migration: Option<bool>,
50 #[serde(rename = "disableAutoHashTagCreation", skip_serializing_if = "Option::is_none")]
51 pub disable_auto_hash_tag_creation: Option<bool>,
52 #[serde(rename = "disableBlocking", skip_serializing_if = "Option::is_none")]
53 pub disable_blocking: Option<bool>,
54 #[serde(rename = "disableCommenterCommentDelete", skip_serializing_if = "Option::is_none")]
55 pub disable_commenter_comment_delete: Option<bool>,
56 #[serde(rename = "disableCommenterCommentEdit", skip_serializing_if = "Option::is_none")]
57 pub disable_commenter_comment_edit: Option<bool>,
58 #[serde(rename = "disableEmailInputs", skip_serializing_if = "Option::is_none")]
59 pub disable_email_inputs: Option<bool>,
60 #[serde(rename = "disableLiveCommenting", skip_serializing_if = "Option::is_none")]
61 pub disable_live_commenting: Option<bool>,
62 #[serde(rename = "disableNotificationBell", skip_serializing_if = "Option::is_none")]
63 pub disable_notification_bell: Option<bool>,
64 #[serde(rename = "disableProfiles", skip_serializing_if = "Option::is_none")]
65 pub disable_profiles: Option<bool>,
66 #[serde(rename = "disableSuccessMessage", skip_serializing_if = "Option::is_none")]
67 pub disable_success_message: Option<bool>,
68 #[serde(rename = "disableToolbar", skip_serializing_if = "Option::is_none")]
69 pub disable_toolbar: Option<bool>,
70 #[serde(rename = "disableUnverifiedLabel", skip_serializing_if = "Option::is_none")]
71 pub disable_unverified_label: Option<bool>,
72 #[serde(rename = "disableVoting", skip_serializing_if = "Option::is_none")]
73 pub disable_voting: Option<bool>,
74 #[serde(rename = "enableCommenterLinks", skip_serializing_if = "Option::is_none")]
75 pub enable_commenter_links: Option<bool>,
76 #[serde(rename = "enableSearch", skip_serializing_if = "Option::is_none")]
77 pub enable_search: Option<bool>,
78 #[serde(rename = "enableSpoilers", skip_serializing_if = "Option::is_none")]
79 pub enable_spoilers: Option<bool>,
80 #[serde(rename = "enableThirdPartyCookieBypass", skip_serializing_if = "Option::is_none")]
81 pub enable_third_party_cookie_bypass: Option<bool>,
82 #[serde(rename = "enableViewCounts", skip_serializing_if = "Option::is_none")]
83 pub enable_view_counts: Option<bool>,
84 #[serde(rename = "enableVoteList", skip_serializing_if = "Option::is_none")]
85 pub enable_vote_list: Option<bool>,
86 #[serde(rename = "enableWYSIWYG", skip_serializing_if = "Option::is_none")]
87 pub enable_wysiwyg: Option<bool>,
88 #[serde(rename = "gifRating", skip_serializing_if = "Option::is_none")]
89 pub gif_rating: Option<models::GifRating>,
90 #[serde(rename = "hasDarkBackground", skip_serializing_if = "Option::is_none")]
91 pub has_dark_background: Option<bool>,
92 #[serde(rename = "headerHTML", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
93 pub header_html: Option<Option<String>>,
94 #[serde(rename = "hideAvatars", skip_serializing_if = "Option::is_none")]
95 pub hide_avatars: Option<bool>,
96 #[serde(rename = "hideCommentsUnderCountTextFormat", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
97 pub hide_comments_under_count_text_format: Option<Option<String>>,
98 #[serde(rename = "imageContentProfanityLevel", skip_serializing_if = "Option::is_none")]
99 pub image_content_profanity_level: Option<models::ImageContentProfanityLevel>,
100 #[serde(rename = "inputAfterComments", skip_serializing_if = "Option::is_none")]
101 pub input_after_comments: Option<bool>,
102 #[serde(rename = "limitCommentsByGroups", skip_serializing_if = "Option::is_none")]
103 pub limit_comments_by_groups: Option<bool>,
104 #[serde(rename = "locale", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
105 pub locale: Option<Option<String>>,
106 #[serde(rename = "maxCommentCharacterLength", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
107 pub max_comment_character_length: Option<Option<i32>>,
108 #[serde(rename = "maxCommentCreatedCountPUPM", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
109 pub max_comment_created_count_pupm: Option<Option<i32>>,
110 #[serde(rename = "noCustomConfig", skip_serializing_if = "Option::is_none")]
111 pub no_custom_config: Option<bool>,
112 #[serde(rename = "noImageUploads", skip_serializing_if = "Option::is_none")]
113 pub no_image_uploads: Option<bool>,
114 #[serde(rename = "noStyles", skip_serializing_if = "Option::is_none")]
115 pub no_styles: Option<bool>,
116 #[serde(rename = "pageSize", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
117 pub page_size: Option<Option<i32>>,
118 #[serde(rename = "readonly", skip_serializing_if = "Option::is_none")]
119 pub readonly: Option<bool>,
120 #[serde(rename = "noNewRootComments", skip_serializing_if = "Option::is_none")]
121 pub no_new_root_comments: Option<bool>,
122 #[serde(rename = "requireSSO", skip_serializing_if = "Option::is_none")]
123 pub require_sso: Option<bool>,
124 #[serde(rename = "enableResizeHandle", skip_serializing_if = "Option::is_none")]
125 pub enable_resize_handle: Option<bool>,
126 #[serde(rename = "restrictedLinkDomains", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
127 pub restricted_link_domains: Option<Option<Vec<String>>>,
128 #[serde(rename = "showBadgesInTopBar", skip_serializing_if = "Option::is_none")]
129 pub show_badges_in_top_bar: Option<bool>,
130 #[serde(rename = "showCommentSaveSuccess", skip_serializing_if = "Option::is_none")]
131 pub show_comment_save_success: Option<bool>,
132 #[serde(rename = "showLiveRightAway", skip_serializing_if = "Option::is_none")]
133 pub show_live_right_away: Option<bool>,
134 #[serde(rename = "showQuestion", skip_serializing_if = "Option::is_none")]
135 pub show_question: Option<bool>,
136 #[serde(rename = "spamRules", skip_serializing_if = "Option::is_none")]
137 pub spam_rules: Option<Vec<models::SpamRule>>,
138 #[serde(rename = "ssoSecLvl", skip_serializing_if = "Option::is_none")]
139 pub sso_sec_lvl: Option<models::SsoSecurityLevel>,
140 #[serde(rename = "translations", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
142 pub translations: Option<Option<std::collections::HashMap<String, String>>>,
143 #[serde(rename = "useShowCommentsToggle", skip_serializing_if = "Option::is_none")]
144 pub use_show_comments_toggle: Option<bool>,
145 #[serde(rename = "useSingleLineCommentInput", skip_serializing_if = "Option::is_none")]
146 pub use_single_line_comment_input: Option<bool>,
147 #[serde(rename = "voteStyle", skip_serializing_if = "Option::is_none")]
148 pub vote_style: Option<models::VoteStyle>,
149 #[serde(rename = "widgetQuestionId", skip_serializing_if = "Option::is_none")]
150 pub widget_question_id: Option<String>,
151 #[serde(rename = "widgetQuestionResultsStyle", skip_serializing_if = "Option::is_none")]
152 pub widget_question_results_style: Option<models::CommentQuestionResultsRenderingType>,
153 #[serde(rename = "widgetQuestionStyle", skip_serializing_if = "Option::is_none")]
154 pub widget_question_style: Option<models::QuestionRenderingType>,
155 #[serde(rename = "widgetQuestionWhenToSave", skip_serializing_if = "Option::is_none")]
156 pub widget_question_when_to_save: Option<models::QuestionWhenSave>,
157 #[serde(rename = "widgetQuestionsRequired", skip_serializing_if = "Option::is_none")]
158 pub widget_questions_required: Option<models::CommentQuestionsRequired>,
159 #[serde(rename = "widgetSubQuestionVisibility", skip_serializing_if = "Option::is_none")]
160 pub widget_sub_question_visibility: Option<models::QuestionSubQuestionVisibility>,
161 #[serde(rename = "wrap", skip_serializing_if = "Option::is_none")]
162 pub wrap: Option<bool>,
163}
164
165impl CustomConfigParameters {
166 pub fn new() -> CustomConfigParameters {
167 CustomConfigParameters {
168 absolute_and_relative_dates: None,
169 absolute_dates: None,
170 allow_anon: None,
171 allow_anon_flag: None,
172 allow_anon_votes: None,
173 allowed_languages: None,
174 collapse_replies: None,
175 comment_count_format: None,
176 comment_html_rendering_mode: None,
177 comment_thread_delete_mode: None,
178 commenter_name_format: None,
179 count_above_toggle: None,
180 custom_css: None,
181 default_avatar_src: None,
182 default_sort_direction: None,
183 default_username: None,
184 disable_auto_admin_migration: None,
185 disable_auto_hash_tag_creation: None,
186 disable_blocking: None,
187 disable_commenter_comment_delete: None,
188 disable_commenter_comment_edit: None,
189 disable_email_inputs: None,
190 disable_live_commenting: None,
191 disable_notification_bell: None,
192 disable_profiles: None,
193 disable_success_message: None,
194 disable_toolbar: None,
195 disable_unverified_label: None,
196 disable_voting: None,
197 enable_commenter_links: None,
198 enable_search: None,
199 enable_spoilers: None,
200 enable_third_party_cookie_bypass: None,
201 enable_view_counts: None,
202 enable_vote_list: None,
203 enable_wysiwyg: None,
204 gif_rating: None,
205 has_dark_background: None,
206 header_html: None,
207 hide_avatars: None,
208 hide_comments_under_count_text_format: None,
209 image_content_profanity_level: None,
210 input_after_comments: None,
211 limit_comments_by_groups: None,
212 locale: None,
213 max_comment_character_length: None,
214 max_comment_created_count_pupm: None,
215 no_custom_config: None,
216 no_image_uploads: None,
217 no_styles: None,
218 page_size: None,
219 readonly: None,
220 no_new_root_comments: None,
221 require_sso: None,
222 enable_resize_handle: None,
223 restricted_link_domains: None,
224 show_badges_in_top_bar: None,
225 show_comment_save_success: None,
226 show_live_right_away: None,
227 show_question: None,
228 spam_rules: None,
229 sso_sec_lvl: None,
230 translations: None,
231 use_show_comments_toggle: None,
232 use_single_line_comment_input: None,
233 vote_style: None,
234 widget_question_id: None,
235 widget_question_results_style: None,
236 widget_question_style: None,
237 widget_question_when_to_save: None,
238 widget_questions_required: None,
239 widget_sub_question_visibility: None,
240 wrap: None,
241 }
242 }
243}
244