use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct Event { pub event_id: String, pub fingerprint: String, pub source: String, pub message: String, pub stack: Option, pub occurred_at: String, pub count: u32, } #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct ErrorReportLogInput { pub name: String, pub content: String, } #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct CreateErrorReportBatchRequest { pub schema_version: u32, pub submission_id: String, pub events: Vec, pub user_description: Option, pub logs: Vec, } #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct CreateErrorReportBatchResponse { pub batch_id: String, pub submission_id: String, pub status: String, pub accepted_event_ids: Vec, pub created_at: String, } #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct AdminErrorReportListQuery { pub status: Option, pub fingerprint: Option, pub source: Option, pub limit: Option, pub offset: Option, } #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct AdminErrorReportEntry { pub batch_id: String, pub event_count: u32, pub log_count: u32, pub fingerprint: Option, pub source: Option, pub status: String, pub user_id: String, pub created_at: String, pub updated_at: String, pub user_description: Option, pub attachment_size_bytes: u64, pub submission_id: Option, pub oss_object_key: Option, pub archive_sha256: Option, pub upload_status: Option, pub review_status: Option, } #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct AdminErrorReportListResponse { pub reports: Vec, pub total: u64, pub offset: u32, pub limit: u32, pub has_more: bool, } #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct AdminUpdateErrorReportRequest { pub status: String, pub note: Option, }