1#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
5#[serde(rename_all = "camelCase")]
6pub struct AccountEventData {
7 pub active: bool,
9 #[serde(skip_serializing_if = "core::option::Option::is_none")]
10 pub comment: core::option::Option<String>,
11 #[serde(skip_serializing_if = "core::option::Option::is_none")]
12 pub status: core::option::Option<String>,
13 pub timestamp: crate::types::string::Datetime,
14}
15pub type AccountEvent = crate::types::Object<AccountEventData>;
16#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
17#[serde(rename_all = "camelCase")]
18pub struct AccountHostingData {
19 #[serde(skip_serializing_if = "core::option::Option::is_none")]
20 pub created_at: core::option::Option<crate::types::string::Datetime>,
21 #[serde(skip_serializing_if = "core::option::Option::is_none")]
22 pub deactivated_at: core::option::Option<crate::types::string::Datetime>,
23 #[serde(skip_serializing_if = "core::option::Option::is_none")]
24 pub deleted_at: core::option::Option<crate::types::string::Datetime>,
25 #[serde(skip_serializing_if = "core::option::Option::is_none")]
26 pub reactivated_at: core::option::Option<crate::types::string::Datetime>,
27 pub status: String,
28 #[serde(skip_serializing_if = "core::option::Option::is_none")]
29 pub updated_at: core::option::Option<crate::types::string::Datetime>,
30}
31pub type AccountHosting = crate::types::Object<AccountHostingData>;
32#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
34#[serde(rename_all = "camelCase")]
35pub struct AccountStatsData {
36 #[serde(skip_serializing_if = "core::option::Option::is_none")]
38 pub appeal_count: core::option::Option<i64>,
39 #[serde(skip_serializing_if = "core::option::Option::is_none")]
41 pub escalate_count: core::option::Option<i64>,
42 #[serde(skip_serializing_if = "core::option::Option::is_none")]
44 pub report_count: core::option::Option<i64>,
45 #[serde(skip_serializing_if = "core::option::Option::is_none")]
47 pub suspend_count: core::option::Option<i64>,
48 #[serde(skip_serializing_if = "core::option::Option::is_none")]
50 pub takedown_count: core::option::Option<i64>,
51}
52pub type AccountStats = crate::types::Object<AccountStatsData>;
53#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
55#[serde(rename_all = "camelCase")]
56pub struct AgeAssuranceEventData {
57 pub attempt_id: String,
59 #[serde(skip_serializing_if = "core::option::Option::is_none")]
61 pub complete_ip: core::option::Option<String>,
62 #[serde(skip_serializing_if = "core::option::Option::is_none")]
64 pub complete_ua: core::option::Option<String>,
65 pub created_at: crate::types::string::Datetime,
67 #[serde(skip_serializing_if = "core::option::Option::is_none")]
69 pub init_ip: core::option::Option<String>,
70 #[serde(skip_serializing_if = "core::option::Option::is_none")]
72 pub init_ua: core::option::Option<String>,
73 pub status: String,
75}
76pub type AgeAssuranceEvent = crate::types::Object<AgeAssuranceEventData>;
77#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
79#[serde(rename_all = "camelCase")]
80pub struct AgeAssuranceOverrideEventData {
81 pub comment: String,
83 pub status: String,
85}
86pub type AgeAssuranceOverrideEvent = crate::types::Object<AgeAssuranceOverrideEventData>;
87#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
88#[serde(rename_all = "camelCase")]
89pub struct BlobViewData {
90 pub cid: crate::types::string::Cid,
91 pub created_at: crate::types::string::Datetime,
92 #[serde(skip_serializing_if = "core::option::Option::is_none")]
93 pub details: core::option::Option<crate::types::Union<BlobViewDetailsRefs>>,
94 pub mime_type: String,
95 #[serde(skip_serializing_if = "core::option::Option::is_none")]
96 pub moderation: core::option::Option<Moderation>,
97 pub size: i64,
98}
99pub type BlobView = crate::types::Object<BlobViewData>;
100#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
102#[serde(rename_all = "camelCase")]
103pub struct IdentityEventData {
104 #[serde(skip_serializing_if = "core::option::Option::is_none")]
105 pub comment: core::option::Option<String>,
106 #[serde(skip_serializing_if = "core::option::Option::is_none")]
107 pub handle: core::option::Option<crate::types::string::Handle>,
108 #[serde(skip_serializing_if = "core::option::Option::is_none")]
109 pub pds_host: core::option::Option<String>,
110 pub timestamp: crate::types::string::Datetime,
111 #[serde(skip_serializing_if = "core::option::Option::is_none")]
112 pub tombstone: core::option::Option<bool>,
113}
114pub type IdentityEvent = crate::types::Object<IdentityEventData>;
115#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
116#[serde(rename_all = "camelCase")]
117pub struct ImageDetailsData {
118 pub height: i64,
119 pub width: i64,
120}
121pub type ImageDetails = crate::types::Object<ImageDetailsData>;
122#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
123#[serde(rename_all = "camelCase")]
124pub struct ModEventAcknowledgeData {
125 #[serde(skip_serializing_if = "core::option::Option::is_none")]
127 pub acknowledge_account_subjects: core::option::Option<bool>,
128 #[serde(skip_serializing_if = "core::option::Option::is_none")]
129 pub comment: core::option::Option<String>,
130}
131pub type ModEventAcknowledge = crate::types::Object<ModEventAcknowledgeData>;
132#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
134#[serde(rename_all = "camelCase")]
135pub struct ModEventCommentData {
136 #[serde(skip_serializing_if = "core::option::Option::is_none")]
137 pub comment: core::option::Option<String>,
138 #[serde(skip_serializing_if = "core::option::Option::is_none")]
140 pub sticky: core::option::Option<bool>,
141}
142pub type ModEventComment = crate::types::Object<ModEventCommentData>;
143#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
145#[serde(rename_all = "camelCase")]
146pub struct ModEventDivertData {
147 #[serde(skip_serializing_if = "core::option::Option::is_none")]
148 pub comment: core::option::Option<String>,
149}
150pub type ModEventDivert = crate::types::Object<ModEventDivertData>;
151#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
153#[serde(rename_all = "camelCase")]
154pub struct ModEventEmailData {
155 #[serde(skip_serializing_if = "core::option::Option::is_none")]
157 pub comment: core::option::Option<String>,
158 #[serde(skip_serializing_if = "core::option::Option::is_none")]
160 pub content: core::option::Option<String>,
161 pub subject_line: String,
163}
164pub type ModEventEmail = crate::types::Object<ModEventEmailData>;
165#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
166#[serde(rename_all = "camelCase")]
167pub struct ModEventEscalateData {
168 #[serde(skip_serializing_if = "core::option::Option::is_none")]
169 pub comment: core::option::Option<String>,
170}
171pub type ModEventEscalate = crate::types::Object<ModEventEscalateData>;
172#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
174#[serde(rename_all = "camelCase")]
175pub struct ModEventLabelData {
176 #[serde(skip_serializing_if = "core::option::Option::is_none")]
177 pub comment: core::option::Option<String>,
178 pub create_label_vals: Vec<String>,
179 #[serde(skip_serializing_if = "core::option::Option::is_none")]
181 pub duration_in_hours: core::option::Option<i64>,
182 pub negate_label_vals: Vec<String>,
183}
184pub type ModEventLabel = crate::types::Object<ModEventLabelData>;
185#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
187#[serde(rename_all = "camelCase")]
188pub struct ModEventMuteData {
189 #[serde(skip_serializing_if = "core::option::Option::is_none")]
190 pub comment: core::option::Option<String>,
191 pub duration_in_hours: i64,
193}
194pub type ModEventMute = crate::types::Object<ModEventMuteData>;
195#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
197#[serde(rename_all = "camelCase")]
198pub struct ModEventMuteReporterData {
199 #[serde(skip_serializing_if = "core::option::Option::is_none")]
200 pub comment: core::option::Option<String>,
201 #[serde(skip_serializing_if = "core::option::Option::is_none")]
203 pub duration_in_hours: core::option::Option<i64>,
204}
205pub type ModEventMuteReporter = crate::types::Object<ModEventMuteReporterData>;
206#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
208#[serde(rename_all = "camelCase")]
209pub struct ModEventPriorityScoreData {
210 #[serde(skip_serializing_if = "core::option::Option::is_none")]
211 pub comment: core::option::Option<String>,
212 pub score: crate::types::LimitedU8<100u8>,
213}
214pub type ModEventPriorityScore = crate::types::Object<ModEventPriorityScoreData>;
215#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
217#[serde(rename_all = "camelCase")]
218pub struct ModEventReportData {
219 #[serde(skip_serializing_if = "core::option::Option::is_none")]
220 pub comment: core::option::Option<String>,
221 #[serde(skip_serializing_if = "core::option::Option::is_none")]
223 pub is_reporter_muted: core::option::Option<bool>,
224 pub report_type: crate::com::atproto::moderation::defs::ReasonType,
225}
226pub type ModEventReport = crate::types::Object<ModEventReportData>;
227#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
229#[serde(rename_all = "camelCase")]
230pub struct ModEventResolveAppealData {
231 #[serde(skip_serializing_if = "core::option::Option::is_none")]
233 pub comment: core::option::Option<String>,
234}
235pub type ModEventResolveAppeal = crate::types::Object<ModEventResolveAppealData>;
236#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
238#[serde(rename_all = "camelCase")]
239pub struct ModEventReverseTakedownData {
240 #[serde(skip_serializing_if = "core::option::Option::is_none")]
242 pub comment: core::option::Option<String>,
243}
244pub type ModEventReverseTakedown = crate::types::Object<ModEventReverseTakedownData>;
245#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
247#[serde(rename_all = "camelCase")]
248pub struct ModEventTagData {
249 pub add: Vec<String>,
251 #[serde(skip_serializing_if = "core::option::Option::is_none")]
253 pub comment: core::option::Option<String>,
254 pub remove: Vec<String>,
256}
257pub type ModEventTag = crate::types::Object<ModEventTagData>;
258#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
260#[serde(rename_all = "camelCase")]
261pub struct ModEventTakedownData {
262 #[serde(skip_serializing_if = "core::option::Option::is_none")]
264 pub acknowledge_account_subjects: core::option::Option<bool>,
265 #[serde(skip_serializing_if = "core::option::Option::is_none")]
266 pub comment: core::option::Option<String>,
267 #[serde(skip_serializing_if = "core::option::Option::is_none")]
269 pub duration_in_hours: core::option::Option<i64>,
270 #[serde(skip_serializing_if = "core::option::Option::is_none")]
272 pub policies: core::option::Option<Vec<String>>,
273}
274pub type ModEventTakedown = crate::types::Object<ModEventTakedownData>;
275#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
277#[serde(rename_all = "camelCase")]
278pub struct ModEventUnmuteData {
279 #[serde(skip_serializing_if = "core::option::Option::is_none")]
281 pub comment: core::option::Option<String>,
282}
283pub type ModEventUnmute = crate::types::Object<ModEventUnmuteData>;
284#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
286#[serde(rename_all = "camelCase")]
287pub struct ModEventUnmuteReporterData {
288 #[serde(skip_serializing_if = "core::option::Option::is_none")]
290 pub comment: core::option::Option<String>,
291}
292pub type ModEventUnmuteReporter = crate::types::Object<ModEventUnmuteReporterData>;
293#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
294#[serde(rename_all = "camelCase")]
295pub struct ModEventViewData {
296 pub created_at: crate::types::string::Datetime,
297 pub created_by: crate::types::string::Did,
298 #[serde(skip_serializing_if = "core::option::Option::is_none")]
299 pub creator_handle: core::option::Option<String>,
300 pub event: crate::types::Union<ModEventViewEventRefs>,
301 pub id: i64,
302 #[serde(skip_serializing_if = "core::option::Option::is_none")]
303 pub mod_tool: core::option::Option<ModTool>,
304 pub subject: crate::types::Union<ModEventViewSubjectRefs>,
305 pub subject_blob_cids: Vec<String>,
306 #[serde(skip_serializing_if = "core::option::Option::is_none")]
307 pub subject_handle: core::option::Option<String>,
308}
309pub type ModEventView = crate::types::Object<ModEventViewData>;
310#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
311#[serde(rename_all = "camelCase")]
312pub struct ModEventViewDetailData {
313 pub created_at: crate::types::string::Datetime,
314 pub created_by: crate::types::string::Did,
315 pub event: crate::types::Union<ModEventViewDetailEventRefs>,
316 pub id: i64,
317 #[serde(skip_serializing_if = "core::option::Option::is_none")]
318 pub mod_tool: core::option::Option<ModTool>,
319 pub subject: crate::types::Union<ModEventViewDetailSubjectRefs>,
320 pub subject_blobs: Vec<BlobView>,
321}
322pub type ModEventViewDetail = crate::types::Object<ModEventViewDetailData>;
323#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
325#[serde(rename_all = "camelCase")]
326pub struct ModToolData {
327 #[serde(skip_serializing_if = "core::option::Option::is_none")]
329 pub meta: core::option::Option<crate::types::Unknown>,
330 pub name: String,
332}
333pub type ModTool = crate::types::Object<ModToolData>;
334#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
335#[serde(rename_all = "camelCase")]
336pub struct ModerationData {
337 #[serde(skip_serializing_if = "core::option::Option::is_none")]
338 pub subject_status: core::option::Option<SubjectStatusView>,
339}
340pub type Moderation = crate::types::Object<ModerationData>;
341#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
342#[serde(rename_all = "camelCase")]
343pub struct ModerationDetailData {
344 #[serde(skip_serializing_if = "core::option::Option::is_none")]
345 pub subject_status: core::option::Option<SubjectStatusView>,
346}
347pub type ModerationDetail = crate::types::Object<ModerationDetailData>;
348#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
350#[serde(rename_all = "camelCase")]
351pub struct RecordEventData {
352 #[serde(skip_serializing_if = "core::option::Option::is_none")]
353 pub cid: core::option::Option<crate::types::string::Cid>,
354 #[serde(skip_serializing_if = "core::option::Option::is_none")]
355 pub comment: core::option::Option<String>,
356 pub op: String,
357 pub timestamp: crate::types::string::Datetime,
358}
359pub type RecordEvent = crate::types::Object<RecordEventData>;
360#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
361#[serde(rename_all = "camelCase")]
362pub struct RecordHostingData {
363 #[serde(skip_serializing_if = "core::option::Option::is_none")]
364 pub created_at: core::option::Option<crate::types::string::Datetime>,
365 #[serde(skip_serializing_if = "core::option::Option::is_none")]
366 pub deleted_at: core::option::Option<crate::types::string::Datetime>,
367 pub status: String,
368 #[serde(skip_serializing_if = "core::option::Option::is_none")]
369 pub updated_at: core::option::Option<crate::types::string::Datetime>,
370}
371pub type RecordHosting = crate::types::Object<RecordHostingData>;
372#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
373#[serde(rename_all = "camelCase")]
374pub struct RecordViewData {
375 pub blob_cids: Vec<crate::types::string::Cid>,
376 pub cid: crate::types::string::Cid,
377 pub indexed_at: crate::types::string::Datetime,
378 pub moderation: Moderation,
379 pub repo: RepoView,
380 pub uri: String,
381 pub value: crate::types::Unknown,
382}
383pub type RecordView = crate::types::Object<RecordViewData>;
384#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
385#[serde(rename_all = "camelCase")]
386pub struct RecordViewDetailData {
387 pub blobs: Vec<BlobView>,
388 pub cid: crate::types::string::Cid,
389 pub indexed_at: crate::types::string::Datetime,
390 #[serde(skip_serializing_if = "core::option::Option::is_none")]
391 pub labels: core::option::Option<Vec<crate::com::atproto::label::defs::Label>>,
392 pub moderation: ModerationDetail,
393 pub repo: RepoView,
394 pub uri: String,
395 pub value: crate::types::Unknown,
396}
397pub type RecordViewDetail = crate::types::Object<RecordViewDetailData>;
398#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
399#[serde(rename_all = "camelCase")]
400pub struct RecordViewNotFoundData {
401 pub uri: String,
402}
403pub type RecordViewNotFound = crate::types::Object<RecordViewNotFoundData>;
404#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
406#[serde(rename_all = "camelCase")]
407pub struct RecordsStatsData {
408 #[serde(skip_serializing_if = "core::option::Option::is_none")]
410 pub appealed_count: core::option::Option<i64>,
411 #[serde(skip_serializing_if = "core::option::Option::is_none")]
413 pub escalated_count: core::option::Option<i64>,
414 #[serde(skip_serializing_if = "core::option::Option::is_none")]
416 pub pending_count: core::option::Option<i64>,
417 #[serde(skip_serializing_if = "core::option::Option::is_none")]
419 pub processed_count: core::option::Option<i64>,
420 #[serde(skip_serializing_if = "core::option::Option::is_none")]
422 pub reported_count: core::option::Option<i64>,
423 #[serde(skip_serializing_if = "core::option::Option::is_none")]
425 pub subject_count: core::option::Option<i64>,
426 #[serde(skip_serializing_if = "core::option::Option::is_none")]
428 pub takendown_count: core::option::Option<i64>,
429 #[serde(skip_serializing_if = "core::option::Option::is_none")]
431 pub total_reports: core::option::Option<i64>,
432}
433pub type RecordsStats = crate::types::Object<RecordsStatsData>;
434#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
435#[serde(rename_all = "camelCase")]
436pub struct RepoViewData {
437 #[serde(skip_serializing_if = "core::option::Option::is_none")]
438 pub deactivated_at: core::option::Option<crate::types::string::Datetime>,
439 pub did: crate::types::string::Did,
440 #[serde(skip_serializing_if = "core::option::Option::is_none")]
441 pub email: core::option::Option<String>,
442 pub handle: crate::types::string::Handle,
443 pub indexed_at: crate::types::string::Datetime,
444 #[serde(skip_serializing_if = "core::option::Option::is_none")]
445 pub invite_note: core::option::Option<String>,
446 #[serde(skip_serializing_if = "core::option::Option::is_none")]
447 pub invited_by: core::option::Option<crate::com::atproto::server::defs::InviteCode>,
448 #[serde(skip_serializing_if = "core::option::Option::is_none")]
449 pub invites_disabled: core::option::Option<bool>,
450 pub moderation: Moderation,
451 pub related_records: Vec<crate::types::Unknown>,
452 #[serde(skip_serializing_if = "core::option::Option::is_none")]
453 pub threat_signatures:
454 core::option::Option<Vec<crate::com::atproto::admin::defs::ThreatSignature>>,
455}
456pub type RepoView = crate::types::Object<RepoViewData>;
457#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
458#[serde(rename_all = "camelCase")]
459pub struct RepoViewDetailData {
460 #[serde(skip_serializing_if = "core::option::Option::is_none")]
461 pub deactivated_at: core::option::Option<crate::types::string::Datetime>,
462 pub did: crate::types::string::Did,
463 #[serde(skip_serializing_if = "core::option::Option::is_none")]
464 pub email: core::option::Option<String>,
465 #[serde(skip_serializing_if = "core::option::Option::is_none")]
466 pub email_confirmed_at: core::option::Option<crate::types::string::Datetime>,
467 pub handle: crate::types::string::Handle,
468 pub indexed_at: crate::types::string::Datetime,
469 #[serde(skip_serializing_if = "core::option::Option::is_none")]
470 pub invite_note: core::option::Option<String>,
471 #[serde(skip_serializing_if = "core::option::Option::is_none")]
472 pub invited_by: core::option::Option<crate::com::atproto::server::defs::InviteCode>,
473 #[serde(skip_serializing_if = "core::option::Option::is_none")]
474 pub invites: core::option::Option<Vec<crate::com::atproto::server::defs::InviteCode>>,
475 #[serde(skip_serializing_if = "core::option::Option::is_none")]
476 pub invites_disabled: core::option::Option<bool>,
477 #[serde(skip_serializing_if = "core::option::Option::is_none")]
478 pub labels: core::option::Option<Vec<crate::com::atproto::label::defs::Label>>,
479 pub moderation: ModerationDetail,
480 pub related_records: Vec<crate::types::Unknown>,
481 #[serde(skip_serializing_if = "core::option::Option::is_none")]
482 pub threat_signatures:
483 core::option::Option<Vec<crate::com::atproto::admin::defs::ThreatSignature>>,
484}
485pub type RepoViewDetail = crate::types::Object<RepoViewDetailData>;
486#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
487#[serde(rename_all = "camelCase")]
488pub struct RepoViewNotFoundData {
489 pub did: crate::types::string::Did,
490}
491pub type RepoViewNotFound = crate::types::Object<RepoViewNotFoundData>;
492#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
493#[serde(rename_all = "camelCase")]
494pub struct ReporterStatsData {
495 pub account_report_count: i64,
497 pub did: crate::types::string::Did,
498 pub labeled_account_count: i64,
500 pub labeled_record_count: i64,
502 pub record_report_count: i64,
504 pub reported_account_count: i64,
506 pub reported_record_count: i64,
508 pub takendown_account_count: i64,
510 pub takendown_record_count: i64,
512}
513pub type ReporterStats = crate::types::Object<ReporterStatsData>;
514pub const REVIEW_CLOSED: &str = "tools.ozone.moderation.defs#reviewClosed";
516pub const REVIEW_ESCALATED: &str = "tools.ozone.moderation.defs#reviewEscalated";
518pub const REVIEW_NONE: &str = "tools.ozone.moderation.defs#reviewNone";
520pub const REVIEW_OPEN: &str = "tools.ozone.moderation.defs#reviewOpen";
522#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
524#[serde(rename_all = "camelCase")]
525pub struct RevokeAccountCredentialsEventData {
526 pub comment: String,
528}
529pub type RevokeAccountCredentialsEvent = crate::types::Object<RevokeAccountCredentialsEventData>;
530pub type SubjectReviewState = String;
531#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
532#[serde(rename_all = "camelCase")]
533pub struct SubjectStatusViewData {
534 #[serde(skip_serializing_if = "core::option::Option::is_none")]
536 pub account_stats: core::option::Option<AccountStats>,
537 #[serde(skip_serializing_if = "core::option::Option::is_none")]
539 pub age_assurance_state: core::option::Option<String>,
540 #[serde(skip_serializing_if = "core::option::Option::is_none")]
542 pub age_assurance_updated_by: core::option::Option<String>,
543 #[serde(skip_serializing_if = "core::option::Option::is_none")]
545 pub appealed: core::option::Option<bool>,
546 #[serde(skip_serializing_if = "core::option::Option::is_none")]
548 pub comment: core::option::Option<String>,
549 pub created_at: crate::types::string::Datetime,
551 #[serde(skip_serializing_if = "core::option::Option::is_none")]
552 pub hosting: core::option::Option<crate::types::Union<SubjectStatusViewHostingRefs>>,
553 pub id: i64,
554 #[serde(skip_serializing_if = "core::option::Option::is_none")]
556 pub last_appealed_at: core::option::Option<crate::types::string::Datetime>,
557 #[serde(skip_serializing_if = "core::option::Option::is_none")]
558 pub last_reported_at: core::option::Option<crate::types::string::Datetime>,
559 #[serde(skip_serializing_if = "core::option::Option::is_none")]
560 pub last_reviewed_at: core::option::Option<crate::types::string::Datetime>,
561 #[serde(skip_serializing_if = "core::option::Option::is_none")]
562 pub last_reviewed_by: core::option::Option<crate::types::string::Did>,
563 #[serde(skip_serializing_if = "core::option::Option::is_none")]
564 pub mute_reporting_until: core::option::Option<crate::types::string::Datetime>,
565 #[serde(skip_serializing_if = "core::option::Option::is_none")]
566 pub mute_until: core::option::Option<crate::types::string::Datetime>,
567 #[serde(skip_serializing_if = "core::option::Option::is_none")]
569 pub priority_score: core::option::Option<crate::types::LimitedU8<100u8>>,
570 #[serde(skip_serializing_if = "core::option::Option::is_none")]
572 pub records_stats: core::option::Option<RecordsStats>,
573 pub review_state: SubjectReviewState,
574 pub subject: crate::types::Union<SubjectStatusViewSubjectRefs>,
575 #[serde(skip_serializing_if = "core::option::Option::is_none")]
576 pub subject_blob_cids: core::option::Option<Vec<crate::types::string::Cid>>,
577 #[serde(skip_serializing_if = "core::option::Option::is_none")]
578 pub subject_repo_handle: core::option::Option<String>,
579 #[serde(skip_serializing_if = "core::option::Option::is_none")]
580 pub suspend_until: core::option::Option<crate::types::string::Datetime>,
581 #[serde(skip_serializing_if = "core::option::Option::is_none")]
582 pub tags: core::option::Option<Vec<String>>,
583 #[serde(skip_serializing_if = "core::option::Option::is_none")]
584 pub takendown: core::option::Option<bool>,
585 pub updated_at: crate::types::string::Datetime,
587}
588pub type SubjectStatusView = crate::types::Object<SubjectStatusViewData>;
589#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
591#[serde(rename_all = "camelCase")]
592pub struct SubjectViewData {
593 #[serde(skip_serializing_if = "core::option::Option::is_none")]
594 pub profile: core::option::Option<crate::types::Union<SubjectViewProfileRefs>>,
595 #[serde(skip_serializing_if = "core::option::Option::is_none")]
596 pub record: core::option::Option<RecordViewDetail>,
597 #[serde(skip_serializing_if = "core::option::Option::is_none")]
598 pub repo: core::option::Option<RepoViewDetail>,
599 #[serde(skip_serializing_if = "core::option::Option::is_none")]
600 pub status: core::option::Option<SubjectStatusView>,
601 pub subject: String,
602 pub r#type: crate::com::atproto::moderation::defs::SubjectType,
603}
604pub type SubjectView = crate::types::Object<SubjectViewData>;
605pub const TIMELINE_EVENT_PLC_CREATE: &str = "tools.ozone.moderation.defs#timelineEventPlcCreate";
607pub const TIMELINE_EVENT_PLC_OPERATION: &str =
609 "tools.ozone.moderation.defs#timelineEventPlcOperation";
610pub const TIMELINE_EVENT_PLC_TOMBSTONE: &str =
612 "tools.ozone.moderation.defs#timelineEventPlcTombstone";
613#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
614#[serde(rename_all = "camelCase")]
615pub struct VideoDetailsData {
616 pub height: i64,
617 pub length: i64,
618 pub width: i64,
619}
620pub type VideoDetails = crate::types::Object<VideoDetailsData>;
621#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
622#[serde(tag = "$type")]
623pub enum BlobViewDetailsRefs {
624 #[serde(rename = "tools.ozone.moderation.defs#imageDetails")]
625 ImageDetails(Box<ImageDetails>),
626 #[serde(rename = "tools.ozone.moderation.defs#videoDetails")]
627 VideoDetails(Box<VideoDetails>),
628}
629#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
630#[serde(tag = "$type")]
631pub enum ModEventViewDetailEventRefs {
632 #[serde(rename = "tools.ozone.moderation.defs#modEventTakedown")]
633 ModEventTakedown(Box<ModEventTakedown>),
634 #[serde(rename = "tools.ozone.moderation.defs#modEventReverseTakedown")]
635 ModEventReverseTakedown(Box<ModEventReverseTakedown>),
636 #[serde(rename = "tools.ozone.moderation.defs#modEventComment")]
637 ModEventComment(Box<ModEventComment>),
638 #[serde(rename = "tools.ozone.moderation.defs#modEventReport")]
639 ModEventReport(Box<ModEventReport>),
640 #[serde(rename = "tools.ozone.moderation.defs#modEventLabel")]
641 ModEventLabel(Box<ModEventLabel>),
642 #[serde(rename = "tools.ozone.moderation.defs#modEventAcknowledge")]
643 ModEventAcknowledge(Box<ModEventAcknowledge>),
644 #[serde(rename = "tools.ozone.moderation.defs#modEventEscalate")]
645 ModEventEscalate(Box<ModEventEscalate>),
646 #[serde(rename = "tools.ozone.moderation.defs#modEventMute")]
647 ModEventMute(Box<ModEventMute>),
648 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmute")]
649 ModEventUnmute(Box<ModEventUnmute>),
650 #[serde(rename = "tools.ozone.moderation.defs#modEventMuteReporter")]
651 ModEventMuteReporter(Box<ModEventMuteReporter>),
652 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmuteReporter")]
653 ModEventUnmuteReporter(Box<ModEventUnmuteReporter>),
654 #[serde(rename = "tools.ozone.moderation.defs#modEventEmail")]
655 ModEventEmail(Box<ModEventEmail>),
656 #[serde(rename = "tools.ozone.moderation.defs#modEventResolveAppeal")]
657 ModEventResolveAppeal(Box<ModEventResolveAppeal>),
658 #[serde(rename = "tools.ozone.moderation.defs#modEventDivert")]
659 ModEventDivert(Box<ModEventDivert>),
660 #[serde(rename = "tools.ozone.moderation.defs#modEventTag")]
661 ModEventTag(Box<ModEventTag>),
662 #[serde(rename = "tools.ozone.moderation.defs#accountEvent")]
663 AccountEvent(Box<AccountEvent>),
664 #[serde(rename = "tools.ozone.moderation.defs#identityEvent")]
665 IdentityEvent(Box<IdentityEvent>),
666 #[serde(rename = "tools.ozone.moderation.defs#recordEvent")]
667 RecordEvent(Box<RecordEvent>),
668 #[serde(rename = "tools.ozone.moderation.defs#modEventPriorityScore")]
669 ModEventPriorityScore(Box<ModEventPriorityScore>),
670 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceEvent")]
671 AgeAssuranceEvent(Box<AgeAssuranceEvent>),
672 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceOverrideEvent")]
673 AgeAssuranceOverrideEvent(Box<AgeAssuranceOverrideEvent>),
674 #[serde(rename = "tools.ozone.moderation.defs#revokeAccountCredentialsEvent")]
675 RevokeAccountCredentialsEvent(Box<RevokeAccountCredentialsEvent>),
676}
677#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
678#[serde(tag = "$type")]
679pub enum ModEventViewDetailSubjectRefs {
680 #[serde(rename = "tools.ozone.moderation.defs#repoView")]
681 RepoView(Box<RepoView>),
682 #[serde(rename = "tools.ozone.moderation.defs#repoViewNotFound")]
683 RepoViewNotFound(Box<RepoViewNotFound>),
684 #[serde(rename = "tools.ozone.moderation.defs#recordView")]
685 RecordView(Box<RecordView>),
686 #[serde(rename = "tools.ozone.moderation.defs#recordViewNotFound")]
687 RecordViewNotFound(Box<RecordViewNotFound>),
688}
689#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
690#[serde(tag = "$type")]
691pub enum ModEventViewEventRefs {
692 #[serde(rename = "tools.ozone.moderation.defs#modEventTakedown")]
693 ModEventTakedown(Box<ModEventTakedown>),
694 #[serde(rename = "tools.ozone.moderation.defs#modEventReverseTakedown")]
695 ModEventReverseTakedown(Box<ModEventReverseTakedown>),
696 #[serde(rename = "tools.ozone.moderation.defs#modEventComment")]
697 ModEventComment(Box<ModEventComment>),
698 #[serde(rename = "tools.ozone.moderation.defs#modEventReport")]
699 ModEventReport(Box<ModEventReport>),
700 #[serde(rename = "tools.ozone.moderation.defs#modEventLabel")]
701 ModEventLabel(Box<ModEventLabel>),
702 #[serde(rename = "tools.ozone.moderation.defs#modEventAcknowledge")]
703 ModEventAcknowledge(Box<ModEventAcknowledge>),
704 #[serde(rename = "tools.ozone.moderation.defs#modEventEscalate")]
705 ModEventEscalate(Box<ModEventEscalate>),
706 #[serde(rename = "tools.ozone.moderation.defs#modEventMute")]
707 ModEventMute(Box<ModEventMute>),
708 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmute")]
709 ModEventUnmute(Box<ModEventUnmute>),
710 #[serde(rename = "tools.ozone.moderation.defs#modEventMuteReporter")]
711 ModEventMuteReporter(Box<ModEventMuteReporter>),
712 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmuteReporter")]
713 ModEventUnmuteReporter(Box<ModEventUnmuteReporter>),
714 #[serde(rename = "tools.ozone.moderation.defs#modEventEmail")]
715 ModEventEmail(Box<ModEventEmail>),
716 #[serde(rename = "tools.ozone.moderation.defs#modEventResolveAppeal")]
717 ModEventResolveAppeal(Box<ModEventResolveAppeal>),
718 #[serde(rename = "tools.ozone.moderation.defs#modEventDivert")]
719 ModEventDivert(Box<ModEventDivert>),
720 #[serde(rename = "tools.ozone.moderation.defs#modEventTag")]
721 ModEventTag(Box<ModEventTag>),
722 #[serde(rename = "tools.ozone.moderation.defs#accountEvent")]
723 AccountEvent(Box<AccountEvent>),
724 #[serde(rename = "tools.ozone.moderation.defs#identityEvent")]
725 IdentityEvent(Box<IdentityEvent>),
726 #[serde(rename = "tools.ozone.moderation.defs#recordEvent")]
727 RecordEvent(Box<RecordEvent>),
728 #[serde(rename = "tools.ozone.moderation.defs#modEventPriorityScore")]
729 ModEventPriorityScore(Box<ModEventPriorityScore>),
730 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceEvent")]
731 AgeAssuranceEvent(Box<AgeAssuranceEvent>),
732 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceOverrideEvent")]
733 AgeAssuranceOverrideEvent(Box<AgeAssuranceOverrideEvent>),
734 #[serde(rename = "tools.ozone.moderation.defs#revokeAccountCredentialsEvent")]
735 RevokeAccountCredentialsEvent(Box<RevokeAccountCredentialsEvent>),
736}
737#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
738#[serde(tag = "$type")]
739pub enum ModEventViewSubjectRefs {
740 #[serde(rename = "com.atproto.admin.defs#repoRef")]
741 ComAtprotoAdminDefsRepoRef(Box<crate::com::atproto::admin::defs::RepoRef>),
742 #[serde(rename = "com.atproto.repo.strongRef")]
743 ComAtprotoRepoStrongRefMain(Box<crate::com::atproto::repo::strong_ref::Main>),
744 #[serde(rename = "chat.bsky.convo.defs#messageRef")]
745 ChatBskyConvoDefsMessageRef(Box<crate::chat::bsky::convo::defs::MessageRef>),
746}
747#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
748#[serde(tag = "$type")]
749pub enum SubjectStatusViewHostingRefs {
750 #[serde(rename = "tools.ozone.moderation.defs#accountHosting")]
751 AccountHosting(Box<AccountHosting>),
752 #[serde(rename = "tools.ozone.moderation.defs#recordHosting")]
753 RecordHosting(Box<RecordHosting>),
754}
755#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
756#[serde(tag = "$type")]
757pub enum SubjectStatusViewSubjectRefs {
758 #[serde(rename = "com.atproto.admin.defs#repoRef")]
759 ComAtprotoAdminDefsRepoRef(Box<crate::com::atproto::admin::defs::RepoRef>),
760 #[serde(rename = "com.atproto.repo.strongRef")]
761 ComAtprotoRepoStrongRefMain(Box<crate::com::atproto::repo::strong_ref::Main>),
762 #[serde(rename = "chat.bsky.convo.defs#messageRef")]
763 ChatBskyConvoDefsMessageRef(Box<crate::chat::bsky::convo::defs::MessageRef>),
764}
765#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
766#[serde(tag = "$type")]
767pub enum SubjectViewProfileRefs {}