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 AccountStrikeData {
57 #[serde(skip_serializing_if = "core::option::Option::is_none")]
59 pub active_strike_count: core::option::Option<i64>,
60 #[serde(skip_serializing_if = "core::option::Option::is_none")]
62 pub first_strike_at: core::option::Option<crate::types::string::Datetime>,
63 #[serde(skip_serializing_if = "core::option::Option::is_none")]
65 pub last_strike_at: core::option::Option<crate::types::string::Datetime>,
66 #[serde(skip_serializing_if = "core::option::Option::is_none")]
68 pub total_strike_count: core::option::Option<i64>,
69}
70pub type AccountStrike = crate::types::Object<AccountStrikeData>;
71#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
73#[serde(rename_all = "camelCase")]
74pub struct AgeAssuranceEventData {
75 #[serde(skip_serializing_if = "core::option::Option::is_none")]
76 pub access: core::option::Option<crate::app::bsky::ageassurance::defs::Access>,
77 pub attempt_id: String,
79 #[serde(skip_serializing_if = "core::option::Option::is_none")]
81 pub complete_ip: core::option::Option<String>,
82 #[serde(skip_serializing_if = "core::option::Option::is_none")]
84 pub complete_ua: core::option::Option<String>,
85 #[serde(skip_serializing_if = "core::option::Option::is_none")]
87 pub country_code: core::option::Option<String>,
88 pub created_at: crate::types::string::Datetime,
90 #[serde(skip_serializing_if = "core::option::Option::is_none")]
92 pub init_ip: core::option::Option<String>,
93 #[serde(skip_serializing_if = "core::option::Option::is_none")]
95 pub init_ua: core::option::Option<String>,
96 #[serde(skip_serializing_if = "core::option::Option::is_none")]
98 pub region_code: core::option::Option<String>,
99 pub status: String,
101}
102pub type AgeAssuranceEvent = crate::types::Object<AgeAssuranceEventData>;
103#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
105#[serde(rename_all = "camelCase")]
106pub struct AgeAssuranceOverrideEventData {
107 #[serde(skip_serializing_if = "core::option::Option::is_none")]
108 pub access: core::option::Option<crate::app::bsky::ageassurance::defs::Access>,
109 pub comment: String,
111 pub status: String,
113}
114pub type AgeAssuranceOverrideEvent = crate::types::Object<AgeAssuranceOverrideEventData>;
115#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
117#[serde(rename_all = "camelCase")]
118pub struct AgeAssurancePurgeEventData {
119 pub comment: String,
121}
122pub type AgeAssurancePurgeEvent = crate::types::Object<AgeAssurancePurgeEventData>;
123#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
124#[serde(rename_all = "camelCase")]
125pub struct BlobViewData {
126 pub cid: crate::types::string::Cid,
127 pub created_at: crate::types::string::Datetime,
128 #[serde(skip_serializing_if = "core::option::Option::is_none")]
129 pub details: core::option::Option<crate::types::Union<BlobViewDetailsRefs>>,
130 pub mime_type: String,
131 #[serde(skip_serializing_if = "core::option::Option::is_none")]
132 pub moderation: core::option::Option<Moderation>,
133 pub size: i64,
134}
135pub type BlobView = crate::types::Object<BlobViewData>;
136#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
138#[serde(rename_all = "camelCase")]
139pub struct CancelScheduledTakedownEventData {
140 #[serde(skip_serializing_if = "core::option::Option::is_none")]
141 pub comment: core::option::Option<String>,
142}
143pub type CancelScheduledTakedownEvent = crate::types::Object<
144 CancelScheduledTakedownEventData,
145>;
146#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
147#[serde(rename_all = "camelCase")]
148pub struct ConvoViewData {
149 pub convo_id: String,
150 pub did: crate::types::string::Did,
151}
152pub type ConvoView = crate::types::Object<ConvoViewData>;
153#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
155#[serde(rename_all = "camelCase")]
156pub struct IdentityEventData {
157 #[serde(skip_serializing_if = "core::option::Option::is_none")]
158 pub comment: core::option::Option<String>,
159 #[serde(skip_serializing_if = "core::option::Option::is_none")]
160 pub handle: core::option::Option<crate::types::string::Handle>,
161 #[serde(skip_serializing_if = "core::option::Option::is_none")]
162 pub pds_host: core::option::Option<String>,
163 pub timestamp: crate::types::string::Datetime,
164 #[serde(skip_serializing_if = "core::option::Option::is_none")]
165 pub tombstone: core::option::Option<bool>,
166}
167pub type IdentityEvent = crate::types::Object<IdentityEventData>;
168#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
169#[serde(rename_all = "camelCase")]
170pub struct ImageDetailsData {
171 pub height: i64,
172 pub width: i64,
173}
174pub type ImageDetails = crate::types::Object<ImageDetailsData>;
175#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
176#[serde(rename_all = "camelCase")]
177pub struct ModEventAcknowledgeData {
178 #[serde(skip_serializing_if = "core::option::Option::is_none")]
180 pub acknowledge_account_subjects: core::option::Option<bool>,
181 #[serde(skip_serializing_if = "core::option::Option::is_none")]
182 pub comment: core::option::Option<String>,
183}
184pub type ModEventAcknowledge = crate::types::Object<ModEventAcknowledgeData>;
185#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
187#[serde(rename_all = "camelCase")]
188pub struct ModEventCommentData {
189 #[serde(skip_serializing_if = "core::option::Option::is_none")]
190 pub comment: core::option::Option<String>,
191 #[serde(skip_serializing_if = "core::option::Option::is_none")]
193 pub sticky: core::option::Option<bool>,
194}
195pub type ModEventComment = crate::types::Object<ModEventCommentData>;
196#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
198#[serde(rename_all = "camelCase")]
199pub struct ModEventDivertData {
200 #[serde(skip_serializing_if = "core::option::Option::is_none")]
201 pub comment: core::option::Option<String>,
202}
203pub type ModEventDivert = crate::types::Object<ModEventDivertData>;
204#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
206#[serde(rename_all = "camelCase")]
207pub struct ModEventEmailData {
208 #[serde(skip_serializing_if = "core::option::Option::is_none")]
210 pub comment: core::option::Option<String>,
211 #[serde(skip_serializing_if = "core::option::Option::is_none")]
213 pub content: core::option::Option<String>,
214 #[serde(skip_serializing_if = "core::option::Option::is_none")]
216 pub is_delivered: core::option::Option<bool>,
217 #[serde(skip_serializing_if = "core::option::Option::is_none")]
219 pub policies: core::option::Option<Vec<String>>,
220 #[serde(skip_serializing_if = "core::option::Option::is_none")]
222 pub severity_level: core::option::Option<String>,
223 #[serde(skip_serializing_if = "core::option::Option::is_none")]
225 pub strike_count: core::option::Option<i64>,
226 #[serde(skip_serializing_if = "core::option::Option::is_none")]
228 pub strike_expires_at: core::option::Option<crate::types::string::Datetime>,
229 pub subject_line: String,
231}
232pub type ModEventEmail = crate::types::Object<ModEventEmailData>;
233#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
234#[serde(rename_all = "camelCase")]
235pub struct ModEventEscalateData {
236 #[serde(skip_serializing_if = "core::option::Option::is_none")]
237 pub comment: core::option::Option<String>,
238}
239pub type ModEventEscalate = crate::types::Object<ModEventEscalateData>;
240#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
242#[serde(rename_all = "camelCase")]
243pub struct ModEventLabelData {
244 #[serde(skip_serializing_if = "core::option::Option::is_none")]
245 pub comment: core::option::Option<String>,
246 pub create_label_vals: Vec<String>,
247 #[serde(skip_serializing_if = "core::option::Option::is_none")]
249 pub duration_in_hours: core::option::Option<i64>,
250 pub negate_label_vals: Vec<String>,
251}
252pub type ModEventLabel = crate::types::Object<ModEventLabelData>;
253#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
255#[serde(rename_all = "camelCase")]
256pub struct ModEventMuteData {
257 #[serde(skip_serializing_if = "core::option::Option::is_none")]
258 pub comment: core::option::Option<String>,
259 pub duration_in_hours: i64,
261}
262pub type ModEventMute = crate::types::Object<ModEventMuteData>;
263#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
265#[serde(rename_all = "camelCase")]
266pub struct ModEventMuteReporterData {
267 #[serde(skip_serializing_if = "core::option::Option::is_none")]
268 pub comment: core::option::Option<String>,
269 #[serde(skip_serializing_if = "core::option::Option::is_none")]
271 pub duration_in_hours: core::option::Option<i64>,
272}
273pub type ModEventMuteReporter = crate::types::Object<ModEventMuteReporterData>;
274#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
276#[serde(rename_all = "camelCase")]
277pub struct ModEventPriorityScoreData {
278 #[serde(skip_serializing_if = "core::option::Option::is_none")]
279 pub comment: core::option::Option<String>,
280 pub score: crate::types::LimitedU8<100u8>,
281}
282pub type ModEventPriorityScore = crate::types::Object<ModEventPriorityScoreData>;
283#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
285#[serde(rename_all = "camelCase")]
286pub struct ModEventReportData {
287 #[serde(skip_serializing_if = "core::option::Option::is_none")]
288 pub comment: core::option::Option<String>,
289 #[serde(skip_serializing_if = "core::option::Option::is_none")]
291 pub is_reporter_muted: core::option::Option<bool>,
292 pub report_type: crate::com::atproto::moderation::defs::ReasonType,
293}
294pub type ModEventReport = crate::types::Object<ModEventReportData>;
295#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
297#[serde(rename_all = "camelCase")]
298pub struct ModEventResolveAppealData {
299 #[serde(skip_serializing_if = "core::option::Option::is_none")]
301 pub comment: core::option::Option<String>,
302}
303pub type ModEventResolveAppeal = crate::types::Object<ModEventResolveAppealData>;
304#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
306#[serde(rename_all = "camelCase")]
307pub struct ModEventReverseTakedownData {
308 #[serde(skip_serializing_if = "core::option::Option::is_none")]
310 pub comment: core::option::Option<String>,
311 #[serde(skip_serializing_if = "core::option::Option::is_none")]
313 pub policies: core::option::Option<Vec<String>>,
314 #[serde(skip_serializing_if = "core::option::Option::is_none")]
316 pub severity_level: core::option::Option<String>,
317 #[serde(skip_serializing_if = "core::option::Option::is_none")]
319 pub strike_count: core::option::Option<i64>,
320}
321pub type ModEventReverseTakedown = crate::types::Object<ModEventReverseTakedownData>;
322#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
324#[serde(rename_all = "camelCase")]
325pub struct ModEventTagData {
326 pub add: Vec<String>,
328 #[serde(skip_serializing_if = "core::option::Option::is_none")]
330 pub comment: core::option::Option<String>,
331 #[serde(skip_serializing_if = "core::option::Option::is_none")]
333 pub duration_in_hours: core::option::Option<i64>,
334 pub remove: Vec<String>,
336}
337pub type ModEventTag = crate::types::Object<ModEventTagData>;
338#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
340#[serde(rename_all = "camelCase")]
341pub struct ModEventTakedownData {
342 #[serde(skip_serializing_if = "core::option::Option::is_none")]
344 pub acknowledge_account_subjects: core::option::Option<bool>,
345 #[serde(skip_serializing_if = "core::option::Option::is_none")]
346 pub comment: core::option::Option<String>,
347 #[serde(skip_serializing_if = "core::option::Option::is_none")]
349 pub duration_in_hours: core::option::Option<i64>,
350 #[serde(skip_serializing_if = "core::option::Option::is_none")]
352 pub policies: core::option::Option<Vec<String>>,
353 #[serde(skip_serializing_if = "core::option::Option::is_none")]
355 pub severity_level: core::option::Option<String>,
356 #[serde(skip_serializing_if = "core::option::Option::is_none")]
358 pub strike_count: core::option::Option<i64>,
359 #[serde(skip_serializing_if = "core::option::Option::is_none")]
361 pub strike_expires_at: core::option::Option<crate::types::string::Datetime>,
362 #[serde(skip_serializing_if = "core::option::Option::is_none")]
364 pub target_services: core::option::Option<Vec<String>>,
365}
366pub type ModEventTakedown = crate::types::Object<ModEventTakedownData>;
367#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
369#[serde(rename_all = "camelCase")]
370pub struct ModEventUnmuteData {
371 #[serde(skip_serializing_if = "core::option::Option::is_none")]
373 pub comment: core::option::Option<String>,
374}
375pub type ModEventUnmute = crate::types::Object<ModEventUnmuteData>;
376#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
378#[serde(rename_all = "camelCase")]
379pub struct ModEventUnmuteReporterData {
380 #[serde(skip_serializing_if = "core::option::Option::is_none")]
382 pub comment: core::option::Option<String>,
383}
384pub type ModEventUnmuteReporter = crate::types::Object<ModEventUnmuteReporterData>;
385#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
386#[serde(rename_all = "camelCase")]
387pub struct ModEventViewData {
388 pub created_at: crate::types::string::Datetime,
389 pub created_by: crate::types::string::Did,
390 #[serde(skip_serializing_if = "core::option::Option::is_none")]
391 pub creator_handle: core::option::Option<String>,
392 pub event: crate::types::Union<ModEventViewEventRefs>,
393 pub id: i64,
394 #[serde(skip_serializing_if = "core::option::Option::is_none")]
395 pub mod_tool: core::option::Option<ModTool>,
396 pub subject: crate::types::Union<ModEventViewSubjectRefs>,
397 pub subject_blob_cids: Vec<String>,
398 #[serde(skip_serializing_if = "core::option::Option::is_none")]
399 pub subject_handle: core::option::Option<String>,
400}
401pub type ModEventView = crate::types::Object<ModEventViewData>;
402#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
403#[serde(rename_all = "camelCase")]
404pub struct ModEventViewDetailData {
405 pub created_at: crate::types::string::Datetime,
406 pub created_by: crate::types::string::Did,
407 pub event: crate::types::Union<ModEventViewDetailEventRefs>,
408 pub id: i64,
409 #[serde(skip_serializing_if = "core::option::Option::is_none")]
410 pub mod_tool: core::option::Option<ModTool>,
411 pub subject: crate::types::Union<ModEventViewDetailSubjectRefs>,
412 pub subject_blobs: Vec<BlobView>,
413}
414pub type ModEventViewDetail = crate::types::Object<ModEventViewDetailData>;
415#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
417#[serde(rename_all = "camelCase")]
418pub struct ModToolData {
419 #[serde(skip_serializing_if = "core::option::Option::is_none")]
421 pub meta: core::option::Option<crate::types::Unknown>,
422 pub name: String,
424}
425pub type ModTool = crate::types::Object<ModToolData>;
426#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
427#[serde(rename_all = "camelCase")]
428pub struct ModerationData {
429 #[serde(skip_serializing_if = "core::option::Option::is_none")]
430 pub subject_status: core::option::Option<SubjectStatusView>,
431}
432pub type Moderation = crate::types::Object<ModerationData>;
433#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
434#[serde(rename_all = "camelCase")]
435pub struct ModerationDetailData {
436 #[serde(skip_serializing_if = "core::option::Option::is_none")]
437 pub subject_status: core::option::Option<SubjectStatusView>,
438}
439pub type ModerationDetail = crate::types::Object<ModerationDetailData>;
440#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
442#[serde(rename_all = "camelCase")]
443pub struct RecordEventData {
444 #[serde(skip_serializing_if = "core::option::Option::is_none")]
445 pub cid: core::option::Option<crate::types::string::Cid>,
446 #[serde(skip_serializing_if = "core::option::Option::is_none")]
447 pub comment: core::option::Option<String>,
448 pub op: String,
449 pub timestamp: crate::types::string::Datetime,
450}
451pub type RecordEvent = crate::types::Object<RecordEventData>;
452#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
453#[serde(rename_all = "camelCase")]
454pub struct RecordHostingData {
455 #[serde(skip_serializing_if = "core::option::Option::is_none")]
456 pub created_at: core::option::Option<crate::types::string::Datetime>,
457 #[serde(skip_serializing_if = "core::option::Option::is_none")]
458 pub deleted_at: core::option::Option<crate::types::string::Datetime>,
459 pub status: String,
460 #[serde(skip_serializing_if = "core::option::Option::is_none")]
461 pub updated_at: core::option::Option<crate::types::string::Datetime>,
462}
463pub type RecordHosting = crate::types::Object<RecordHostingData>;
464#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
465#[serde(rename_all = "camelCase")]
466pub struct RecordViewData {
467 pub blob_cids: Vec<crate::types::string::Cid>,
468 pub cid: crate::types::string::Cid,
469 pub indexed_at: crate::types::string::Datetime,
470 pub moderation: Moderation,
471 pub repo: RepoView,
472 pub uri: String,
473 pub value: crate::types::Unknown,
474}
475pub type RecordView = crate::types::Object<RecordViewData>;
476#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
477#[serde(rename_all = "camelCase")]
478pub struct RecordViewDetailData {
479 pub blobs: Vec<BlobView>,
480 pub cid: crate::types::string::Cid,
481 pub indexed_at: crate::types::string::Datetime,
482 #[serde(skip_serializing_if = "core::option::Option::is_none")]
483 pub labels: core::option::Option<Vec<crate::com::atproto::label::defs::Label>>,
484 pub moderation: ModerationDetail,
485 pub repo: RepoView,
486 pub uri: String,
487 pub value: crate::types::Unknown,
488}
489pub type RecordViewDetail = crate::types::Object<RecordViewDetailData>;
490#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
491#[serde(rename_all = "camelCase")]
492pub struct RecordViewNotFoundData {
493 pub uri: String,
494}
495pub type RecordViewNotFound = crate::types::Object<RecordViewNotFoundData>;
496#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
498#[serde(rename_all = "camelCase")]
499pub struct RecordsStatsData {
500 #[serde(skip_serializing_if = "core::option::Option::is_none")]
502 pub appealed_count: core::option::Option<i64>,
503 #[serde(skip_serializing_if = "core::option::Option::is_none")]
505 pub escalated_count: core::option::Option<i64>,
506 #[serde(skip_serializing_if = "core::option::Option::is_none")]
508 pub pending_count: core::option::Option<i64>,
509 #[serde(skip_serializing_if = "core::option::Option::is_none")]
511 pub processed_count: core::option::Option<i64>,
512 #[serde(skip_serializing_if = "core::option::Option::is_none")]
514 pub reported_count: core::option::Option<i64>,
515 #[serde(skip_serializing_if = "core::option::Option::is_none")]
517 pub subject_count: core::option::Option<i64>,
518 #[serde(skip_serializing_if = "core::option::Option::is_none")]
520 pub takendown_count: core::option::Option<i64>,
521 #[serde(skip_serializing_if = "core::option::Option::is_none")]
523 pub total_reports: core::option::Option<i64>,
524}
525pub type RecordsStats = crate::types::Object<RecordsStatsData>;
526#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
527#[serde(rename_all = "camelCase")]
528pub struct RepoViewData {
529 #[serde(skip_serializing_if = "core::option::Option::is_none")]
530 pub deactivated_at: core::option::Option<crate::types::string::Datetime>,
531 pub did: crate::types::string::Did,
532 #[serde(skip_serializing_if = "core::option::Option::is_none")]
533 pub email: core::option::Option<String>,
534 pub handle: crate::types::string::Handle,
535 pub indexed_at: crate::types::string::Datetime,
536 #[serde(skip_serializing_if = "core::option::Option::is_none")]
537 pub invite_note: core::option::Option<String>,
538 #[serde(skip_serializing_if = "core::option::Option::is_none")]
539 pub invited_by: core::option::Option<crate::com::atproto::server::defs::InviteCode>,
540 #[serde(skip_serializing_if = "core::option::Option::is_none")]
541 pub invites_disabled: core::option::Option<bool>,
542 pub moderation: Moderation,
543 pub related_records: Vec<crate::types::Unknown>,
544 #[serde(skip_serializing_if = "core::option::Option::is_none")]
545 pub threat_signatures: core::option::Option<
546 Vec<crate::com::atproto::admin::defs::ThreatSignature>,
547 >,
548}
549pub type RepoView = crate::types::Object<RepoViewData>;
550#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
551#[serde(rename_all = "camelCase")]
552pub struct RepoViewDetailData {
553 #[serde(skip_serializing_if = "core::option::Option::is_none")]
554 pub deactivated_at: core::option::Option<crate::types::string::Datetime>,
555 pub did: crate::types::string::Did,
556 #[serde(skip_serializing_if = "core::option::Option::is_none")]
557 pub email: core::option::Option<String>,
558 #[serde(skip_serializing_if = "core::option::Option::is_none")]
559 pub email_confirmed_at: core::option::Option<crate::types::string::Datetime>,
560 pub handle: crate::types::string::Handle,
561 pub indexed_at: crate::types::string::Datetime,
562 #[serde(skip_serializing_if = "core::option::Option::is_none")]
563 pub invite_note: core::option::Option<String>,
564 #[serde(skip_serializing_if = "core::option::Option::is_none")]
565 pub invited_by: core::option::Option<crate::com::atproto::server::defs::InviteCode>,
566 #[serde(skip_serializing_if = "core::option::Option::is_none")]
567 pub invites: core::option::Option<
568 Vec<crate::com::atproto::server::defs::InviteCode>,
569 >,
570 #[serde(skip_serializing_if = "core::option::Option::is_none")]
571 pub invites_disabled: core::option::Option<bool>,
572 #[serde(skip_serializing_if = "core::option::Option::is_none")]
573 pub labels: core::option::Option<Vec<crate::com::atproto::label::defs::Label>>,
574 pub moderation: ModerationDetail,
575 pub related_records: Vec<crate::types::Unknown>,
576 #[serde(skip_serializing_if = "core::option::Option::is_none")]
577 pub threat_signatures: core::option::Option<
578 Vec<crate::com::atproto::admin::defs::ThreatSignature>,
579 >,
580}
581pub type RepoViewDetail = crate::types::Object<RepoViewDetailData>;
582#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
583#[serde(rename_all = "camelCase")]
584pub struct RepoViewNotFoundData {
585 pub did: crate::types::string::Did,
586}
587pub type RepoViewNotFound = crate::types::Object<RepoViewNotFoundData>;
588#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
589#[serde(rename_all = "camelCase")]
590pub struct ReporterStatsData {
591 pub account_report_count: i64,
593 pub did: crate::types::string::Did,
594 pub labeled_account_count: i64,
596 pub labeled_record_count: i64,
598 pub record_report_count: i64,
600 pub reported_account_count: i64,
602 pub reported_record_count: i64,
604 pub takendown_account_count: i64,
606 pub takendown_record_count: i64,
608}
609pub type ReporterStats = crate::types::Object<ReporterStatsData>;
610pub const REVIEW_CLOSED: &str = "tools.ozone.moderation.defs#reviewClosed";
612pub const REVIEW_ESCALATED: &str = "tools.ozone.moderation.defs#reviewEscalated";
614pub const REVIEW_NONE: &str = "tools.ozone.moderation.defs#reviewNone";
616pub const REVIEW_OPEN: &str = "tools.ozone.moderation.defs#reviewOpen";
618#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
620#[serde(rename_all = "camelCase")]
621pub struct RevokeAccountCredentialsEventData {
622 pub comment: String,
624}
625pub type RevokeAccountCredentialsEvent = crate::types::Object<
626 RevokeAccountCredentialsEventData,
627>;
628#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
630#[serde(rename_all = "camelCase")]
631pub struct ScheduleTakedownEventData {
632 #[serde(skip_serializing_if = "core::option::Option::is_none")]
633 pub comment: core::option::Option<String>,
634 #[serde(skip_serializing_if = "core::option::Option::is_none")]
635 pub execute_after: core::option::Option<crate::types::string::Datetime>,
636 #[serde(skip_serializing_if = "core::option::Option::is_none")]
637 pub execute_at: core::option::Option<crate::types::string::Datetime>,
638 #[serde(skip_serializing_if = "core::option::Option::is_none")]
639 pub execute_until: core::option::Option<crate::types::string::Datetime>,
640}
641pub type ScheduleTakedownEvent = crate::types::Object<ScheduleTakedownEventData>;
642#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
644#[serde(rename_all = "camelCase")]
645pub struct ScheduledActionViewData {
646 pub action: String,
648 pub created_at: crate::types::string::Datetime,
650 pub created_by: crate::types::string::Did,
652 pub did: crate::types::string::Did,
654 #[serde(skip_serializing_if = "core::option::Option::is_none")]
656 pub event_data: core::option::Option<crate::types::Unknown>,
657 #[serde(skip_serializing_if = "core::option::Option::is_none")]
659 pub execute_after: core::option::Option<crate::types::string::Datetime>,
660 #[serde(skip_serializing_if = "core::option::Option::is_none")]
662 pub execute_at: core::option::Option<crate::types::string::Datetime>,
663 #[serde(skip_serializing_if = "core::option::Option::is_none")]
665 pub execute_until: core::option::Option<crate::types::string::Datetime>,
666 #[serde(skip_serializing_if = "core::option::Option::is_none")]
668 pub execution_event_id: core::option::Option<i64>,
669 pub id: i64,
671 #[serde(skip_serializing_if = "core::option::Option::is_none")]
673 pub last_executed_at: core::option::Option<crate::types::string::Datetime>,
674 #[serde(skip_serializing_if = "core::option::Option::is_none")]
676 pub last_failure_reason: core::option::Option<String>,
677 #[serde(skip_serializing_if = "core::option::Option::is_none")]
679 pub randomize_execution: core::option::Option<bool>,
680 pub status: String,
682 #[serde(skip_serializing_if = "core::option::Option::is_none")]
684 pub updated_at: core::option::Option<crate::types::string::Datetime>,
685}
686pub type ScheduledActionView = crate::types::Object<ScheduledActionViewData>;
687pub type SubjectReviewState = String;
688#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
689#[serde(rename_all = "camelCase")]
690pub struct SubjectStatusViewData {
691 #[serde(skip_serializing_if = "core::option::Option::is_none")]
693 pub account_stats: core::option::Option<AccountStats>,
694 #[serde(skip_serializing_if = "core::option::Option::is_none")]
696 pub account_strike: core::option::Option<AccountStrike>,
697 #[serde(skip_serializing_if = "core::option::Option::is_none")]
699 pub age_assurance_state: core::option::Option<String>,
700 #[serde(skip_serializing_if = "core::option::Option::is_none")]
702 pub age_assurance_updated_by: core::option::Option<String>,
703 #[serde(skip_serializing_if = "core::option::Option::is_none")]
705 pub appealed: core::option::Option<bool>,
706 #[serde(skip_serializing_if = "core::option::Option::is_none")]
708 pub comment: core::option::Option<String>,
709 pub created_at: crate::types::string::Datetime,
711 #[serde(skip_serializing_if = "core::option::Option::is_none")]
712 pub hosting: core::option::Option<crate::types::Union<SubjectStatusViewHostingRefs>>,
713 pub id: i64,
714 #[serde(skip_serializing_if = "core::option::Option::is_none")]
716 pub last_appealed_at: core::option::Option<crate::types::string::Datetime>,
717 #[serde(skip_serializing_if = "core::option::Option::is_none")]
718 pub last_reported_at: core::option::Option<crate::types::string::Datetime>,
719 #[serde(skip_serializing_if = "core::option::Option::is_none")]
720 pub last_reviewed_at: core::option::Option<crate::types::string::Datetime>,
721 #[serde(skip_serializing_if = "core::option::Option::is_none")]
722 pub last_reviewed_by: core::option::Option<crate::types::string::Did>,
723 #[serde(skip_serializing_if = "core::option::Option::is_none")]
724 pub mute_reporting_until: core::option::Option<crate::types::string::Datetime>,
725 #[serde(skip_serializing_if = "core::option::Option::is_none")]
726 pub mute_until: core::option::Option<crate::types::string::Datetime>,
727 #[serde(skip_serializing_if = "core::option::Option::is_none")]
729 pub priority_score: core::option::Option<crate::types::LimitedU8<100u8>>,
730 #[serde(skip_serializing_if = "core::option::Option::is_none")]
732 pub records_stats: core::option::Option<RecordsStats>,
733 pub review_state: SubjectReviewState,
734 pub subject: crate::types::Union<SubjectStatusViewSubjectRefs>,
735 #[serde(skip_serializing_if = "core::option::Option::is_none")]
736 pub subject_blob_cids: core::option::Option<Vec<crate::types::string::Cid>>,
737 #[serde(skip_serializing_if = "core::option::Option::is_none")]
738 pub subject_repo_handle: core::option::Option<String>,
739 #[serde(skip_serializing_if = "core::option::Option::is_none")]
740 pub suspend_until: core::option::Option<crate::types::string::Datetime>,
741 #[serde(skip_serializing_if = "core::option::Option::is_none")]
742 pub tags: core::option::Option<Vec<String>>,
743 #[serde(skip_serializing_if = "core::option::Option::is_none")]
744 pub takendown: core::option::Option<bool>,
745 pub updated_at: crate::types::string::Datetime,
747}
748pub type SubjectStatusView = crate::types::Object<SubjectStatusViewData>;
749#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
751#[serde(rename_all = "camelCase")]
752pub struct SubjectViewData {
753 #[serde(skip_serializing_if = "core::option::Option::is_none")]
754 pub profile: core::option::Option<crate::types::Union<SubjectViewProfileRefs>>,
755 #[serde(skip_serializing_if = "core::option::Option::is_none")]
756 pub record: core::option::Option<RecordViewDetail>,
757 #[serde(skip_serializing_if = "core::option::Option::is_none")]
758 pub repo: core::option::Option<RepoViewDetail>,
759 #[serde(skip_serializing_if = "core::option::Option::is_none")]
760 pub status: core::option::Option<SubjectStatusView>,
761 pub subject: String,
762 pub r#type: crate::com::atproto::moderation::defs::SubjectType,
763}
764pub type SubjectView = crate::types::Object<SubjectViewData>;
765pub const TIMELINE_EVENT_PLC_CREATE: &str = "tools.ozone.moderation.defs#timelineEventPlcCreate";
767pub const TIMELINE_EVENT_PLC_OPERATION: &str = "tools.ozone.moderation.defs#timelineEventPlcOperation";
769pub const TIMELINE_EVENT_PLC_TOMBSTONE: &str = "tools.ozone.moderation.defs#timelineEventPlcTombstone";
771#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
772#[serde(rename_all = "camelCase")]
773pub struct VideoDetailsData {
774 pub height: i64,
775 pub length: i64,
776 pub width: i64,
777}
778pub type VideoDetails = crate::types::Object<VideoDetailsData>;
779#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
780#[serde(tag = "$type")]
781pub enum BlobViewDetailsRefs {
782 #[serde(rename = "tools.ozone.moderation.defs#imageDetails")]
783 ImageDetails(Box<ImageDetails>),
784 #[serde(rename = "tools.ozone.moderation.defs#videoDetails")]
785 VideoDetails(Box<VideoDetails>),
786}
787#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
788#[serde(tag = "$type")]
789pub enum ModEventViewDetailEventRefs {
790 #[serde(rename = "tools.ozone.moderation.defs#modEventTakedown")]
791 ModEventTakedown(Box<ModEventTakedown>),
792 #[serde(rename = "tools.ozone.moderation.defs#modEventReverseTakedown")]
793 ModEventReverseTakedown(Box<ModEventReverseTakedown>),
794 #[serde(rename = "tools.ozone.moderation.defs#modEventComment")]
795 ModEventComment(Box<ModEventComment>),
796 #[serde(rename = "tools.ozone.moderation.defs#modEventReport")]
797 ModEventReport(Box<ModEventReport>),
798 #[serde(rename = "tools.ozone.moderation.defs#modEventLabel")]
799 ModEventLabel(Box<ModEventLabel>),
800 #[serde(rename = "tools.ozone.moderation.defs#modEventAcknowledge")]
801 ModEventAcknowledge(Box<ModEventAcknowledge>),
802 #[serde(rename = "tools.ozone.moderation.defs#modEventEscalate")]
803 ModEventEscalate(Box<ModEventEscalate>),
804 #[serde(rename = "tools.ozone.moderation.defs#modEventMute")]
805 ModEventMute(Box<ModEventMute>),
806 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmute")]
807 ModEventUnmute(Box<ModEventUnmute>),
808 #[serde(rename = "tools.ozone.moderation.defs#modEventMuteReporter")]
809 ModEventMuteReporter(Box<ModEventMuteReporter>),
810 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmuteReporter")]
811 ModEventUnmuteReporter(Box<ModEventUnmuteReporter>),
812 #[serde(rename = "tools.ozone.moderation.defs#modEventEmail")]
813 ModEventEmail(Box<ModEventEmail>),
814 #[serde(rename = "tools.ozone.moderation.defs#modEventResolveAppeal")]
815 ModEventResolveAppeal(Box<ModEventResolveAppeal>),
816 #[serde(rename = "tools.ozone.moderation.defs#modEventDivert")]
817 ModEventDivert(Box<ModEventDivert>),
818 #[serde(rename = "tools.ozone.moderation.defs#modEventTag")]
819 ModEventTag(Box<ModEventTag>),
820 #[serde(rename = "tools.ozone.moderation.defs#accountEvent")]
821 AccountEvent(Box<AccountEvent>),
822 #[serde(rename = "tools.ozone.moderation.defs#identityEvent")]
823 IdentityEvent(Box<IdentityEvent>),
824 #[serde(rename = "tools.ozone.moderation.defs#recordEvent")]
825 RecordEvent(Box<RecordEvent>),
826 #[serde(rename = "tools.ozone.moderation.defs#modEventPriorityScore")]
827 ModEventPriorityScore(Box<ModEventPriorityScore>),
828 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceEvent")]
829 AgeAssuranceEvent(Box<AgeAssuranceEvent>),
830 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceOverrideEvent")]
831 AgeAssuranceOverrideEvent(Box<AgeAssuranceOverrideEvent>),
832 #[serde(rename = "tools.ozone.moderation.defs#ageAssurancePurgeEvent")]
833 AgeAssurancePurgeEvent(Box<AgeAssurancePurgeEvent>),
834 #[serde(rename = "tools.ozone.moderation.defs#revokeAccountCredentialsEvent")]
835 RevokeAccountCredentialsEvent(Box<RevokeAccountCredentialsEvent>),
836 #[serde(rename = "tools.ozone.moderation.defs#scheduleTakedownEvent")]
837 ScheduleTakedownEvent(Box<ScheduleTakedownEvent>),
838 #[serde(rename = "tools.ozone.moderation.defs#cancelScheduledTakedownEvent")]
839 CancelScheduledTakedownEvent(Box<CancelScheduledTakedownEvent>),
840}
841#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
842#[serde(tag = "$type")]
843pub enum ModEventViewDetailSubjectRefs {
844 #[serde(rename = "tools.ozone.moderation.defs#repoView")]
845 RepoView(Box<RepoView>),
846 #[serde(rename = "tools.ozone.moderation.defs#repoViewNotFound")]
847 RepoViewNotFound(Box<RepoViewNotFound>),
848 #[serde(rename = "tools.ozone.moderation.defs#recordView")]
849 RecordView(Box<RecordView>),
850 #[serde(rename = "tools.ozone.moderation.defs#recordViewNotFound")]
851 RecordViewNotFound(Box<RecordViewNotFound>),
852 #[serde(rename = "tools.ozone.moderation.defs#convoView")]
853 ConvoView(Box<ConvoView>),
854}
855#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
856#[serde(tag = "$type")]
857pub enum ModEventViewEventRefs {
858 #[serde(rename = "tools.ozone.moderation.defs#modEventTakedown")]
859 ModEventTakedown(Box<ModEventTakedown>),
860 #[serde(rename = "tools.ozone.moderation.defs#modEventReverseTakedown")]
861 ModEventReverseTakedown(Box<ModEventReverseTakedown>),
862 #[serde(rename = "tools.ozone.moderation.defs#modEventComment")]
863 ModEventComment(Box<ModEventComment>),
864 #[serde(rename = "tools.ozone.moderation.defs#modEventReport")]
865 ModEventReport(Box<ModEventReport>),
866 #[serde(rename = "tools.ozone.moderation.defs#modEventLabel")]
867 ModEventLabel(Box<ModEventLabel>),
868 #[serde(rename = "tools.ozone.moderation.defs#modEventAcknowledge")]
869 ModEventAcknowledge(Box<ModEventAcknowledge>),
870 #[serde(rename = "tools.ozone.moderation.defs#modEventEscalate")]
871 ModEventEscalate(Box<ModEventEscalate>),
872 #[serde(rename = "tools.ozone.moderation.defs#modEventMute")]
873 ModEventMute(Box<ModEventMute>),
874 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmute")]
875 ModEventUnmute(Box<ModEventUnmute>),
876 #[serde(rename = "tools.ozone.moderation.defs#modEventMuteReporter")]
877 ModEventMuteReporter(Box<ModEventMuteReporter>),
878 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmuteReporter")]
879 ModEventUnmuteReporter(Box<ModEventUnmuteReporter>),
880 #[serde(rename = "tools.ozone.moderation.defs#modEventEmail")]
881 ModEventEmail(Box<ModEventEmail>),
882 #[serde(rename = "tools.ozone.moderation.defs#modEventResolveAppeal")]
883 ModEventResolveAppeal(Box<ModEventResolveAppeal>),
884 #[serde(rename = "tools.ozone.moderation.defs#modEventDivert")]
885 ModEventDivert(Box<ModEventDivert>),
886 #[serde(rename = "tools.ozone.moderation.defs#modEventTag")]
887 ModEventTag(Box<ModEventTag>),
888 #[serde(rename = "tools.ozone.moderation.defs#accountEvent")]
889 AccountEvent(Box<AccountEvent>),
890 #[serde(rename = "tools.ozone.moderation.defs#identityEvent")]
891 IdentityEvent(Box<IdentityEvent>),
892 #[serde(rename = "tools.ozone.moderation.defs#recordEvent")]
893 RecordEvent(Box<RecordEvent>),
894 #[serde(rename = "tools.ozone.moderation.defs#modEventPriorityScore")]
895 ModEventPriorityScore(Box<ModEventPriorityScore>),
896 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceEvent")]
897 AgeAssuranceEvent(Box<AgeAssuranceEvent>),
898 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceOverrideEvent")]
899 AgeAssuranceOverrideEvent(Box<AgeAssuranceOverrideEvent>),
900 #[serde(rename = "tools.ozone.moderation.defs#ageAssurancePurgeEvent")]
901 AgeAssurancePurgeEvent(Box<AgeAssurancePurgeEvent>),
902 #[serde(rename = "tools.ozone.moderation.defs#revokeAccountCredentialsEvent")]
903 RevokeAccountCredentialsEvent(Box<RevokeAccountCredentialsEvent>),
904 #[serde(rename = "tools.ozone.moderation.defs#scheduleTakedownEvent")]
905 ScheduleTakedownEvent(Box<ScheduleTakedownEvent>),
906 #[serde(rename = "tools.ozone.moderation.defs#cancelScheduledTakedownEvent")]
907 CancelScheduledTakedownEvent(Box<CancelScheduledTakedownEvent>),
908}
909#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
910#[serde(tag = "$type")]
911pub enum ModEventViewSubjectRefs {
912 #[serde(rename = "com.atproto.admin.defs#repoRef")]
913 ComAtprotoAdminDefsRepoRef(Box<crate::com::atproto::admin::defs::RepoRef>),
914 #[serde(rename = "com.atproto.repo.strongRef")]
915 ComAtprotoRepoStrongRefMain(Box<crate::com::atproto::repo::strong_ref::Main>),
916 #[serde(rename = "chat.bsky.convo.defs#messageRef")]
917 ChatBskyConvoDefsMessageRef(Box<crate::chat::bsky::convo::defs::MessageRef>),
918 #[serde(rename = "chat.bsky.convo.defs#convoRef")]
919 ChatBskyConvoDefsConvoRef(Box<crate::chat::bsky::convo::defs::ConvoRef>),
920}
921#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
922#[serde(tag = "$type")]
923pub enum SubjectStatusViewHostingRefs {
924 #[serde(rename = "tools.ozone.moderation.defs#accountHosting")]
925 AccountHosting(Box<AccountHosting>),
926 #[serde(rename = "tools.ozone.moderation.defs#recordHosting")]
927 RecordHosting(Box<RecordHosting>),
928}
929#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
930#[serde(tag = "$type")]
931pub enum SubjectStatusViewSubjectRefs {
932 #[serde(rename = "com.atproto.admin.defs#repoRef")]
933 ComAtprotoAdminDefsRepoRef(Box<crate::com::atproto::admin::defs::RepoRef>),
934 #[serde(rename = "com.atproto.repo.strongRef")]
935 ComAtprotoRepoStrongRefMain(Box<crate::com::atproto::repo::strong_ref::Main>),
936 #[serde(rename = "chat.bsky.convo.defs#messageRef")]
937 ChatBskyConvoDefsMessageRef(Box<crate::chat::bsky::convo::defs::MessageRef>),
938 #[serde(rename = "chat.bsky.convo.defs#convoRef")]
939 ChatBskyConvoDefsConvoRef(Box<crate::chat::bsky::convo::defs::ConvoRef>),
940}
941#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
942#[serde(tag = "$type")]
943pub enum SubjectViewProfileRefs {}