Skip to main content

atrium_api/tools/ozone/queue/
defs.rs

1// @generated - This file is generated by atrium-codegen. DO NOT EDIT.
2//!Definitions for the `tools.ozone.queue.defs` namespace.
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct AssignmentViewData {
6    pub did: crate::types::string::Did,
7    #[serde(skip_serializing_if = "core::option::Option::is_none")]
8    pub end_at: core::option::Option<crate::types::string::Datetime>,
9    pub id: i64,
10    ///The moderator assigned to this queue
11    #[serde(skip_serializing_if = "core::option::Option::is_none")]
12    pub moderator: core::option::Option<crate::tools::ozone::team::defs::Member>,
13    pub queue: QueueView,
14    pub start_at: crate::types::string::Datetime,
15}
16pub type AssignmentView = crate::types::Object<AssignmentViewData>;
17#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
18#[serde(rename_all = "camelCase")]
19pub struct QueueStatsData {
20    ///Percentage of reports actioned (actionedCount / inboundCount * 100), rounded to nearest integer. Absent when inboundCount is 0.
21    #[serde(skip_serializing_if = "core::option::Option::is_none")]
22    pub action_rate: core::option::Option<i64>,
23    ///Number of reports in 'closed' status
24    #[serde(skip_serializing_if = "core::option::Option::is_none")]
25    pub actioned_count: core::option::Option<i64>,
26    ///Average time in seconds from report creation to close, for reports closed in this period.
27    #[serde(skip_serializing_if = "core::option::Option::is_none")]
28    pub avg_handling_time_sec: core::option::Option<i64>,
29    ///Number of reports in 'escalated' status
30    #[serde(skip_serializing_if = "core::option::Option::is_none")]
31    pub escalated_count: core::option::Option<i64>,
32    ///Reports received in this queue in the last 24 hours.
33    #[serde(skip_serializing_if = "core::option::Option::is_none")]
34    pub inbound_count: core::option::Option<i64>,
35    ///When these statistics were last computed
36    #[serde(skip_serializing_if = "core::option::Option::is_none")]
37    pub last_updated: core::option::Option<crate::types::string::Datetime>,
38    ///Number of reports in 'open' status
39    #[serde(skip_serializing_if = "core::option::Option::is_none")]
40    pub pending_count: core::option::Option<i64>,
41}
42pub type QueueStats = crate::types::Object<QueueStatsData>;
43#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
44#[serde(rename_all = "camelCase")]
45pub struct QueueViewData {
46    ///Collection name for record subjects (e.g., 'app.bsky.feed.post')
47    #[serde(skip_serializing_if = "core::option::Option::is_none")]
48    pub collection: core::option::Option<crate::types::string::Nsid>,
49    pub created_at: crate::types::string::Datetime,
50    ///DID of moderator who created this queue
51    pub created_by: crate::types::string::Did,
52    ///When the queue was deleted, if applicable
53    #[serde(skip_serializing_if = "core::option::Option::is_none")]
54    pub deleted_at: core::option::Option<crate::types::string::Datetime>,
55    ///Optional description of the queue
56    #[serde(skip_serializing_if = "core::option::Option::is_none")]
57    pub description: core::option::Option<String>,
58    ///Whether this queue is currently active
59    pub enabled: bool,
60    ///Queue ID
61    pub id: i64,
62    ///Display name of the queue
63    pub name: String,
64    ///Policy keys recommended when actioning reports in this queue
65    #[serde(skip_serializing_if = "core::option::Option::is_none")]
66    pub recommended_policies: core::option::Option<Vec<String>>,
67    ///Report reason types this queue accepts (fully qualified NSIDs)
68    #[serde(skip_serializing_if = "core::option::Option::is_none")]
69    pub report_types: core::option::Option<Vec<String>>,
70    ///Statistics about this queue
71    pub stats: QueueStats,
72    ///Subject types this queue accepts.
73    #[serde(skip_serializing_if = "core::option::Option::is_none")]
74    pub subject_types: core::option::Option<Vec<String>>,
75    pub updated_at: crate::types::string::Datetime,
76}
77pub type QueueView = crate::types::Object<QueueViewData>;