rain_sdk/models/
webhooks.rs1use chrono::{DateTime, Utc};
4use serde::{Deserialize, Serialize};
5use serde_json::Value;
6use uuid::Uuid;
7
8#[derive(Debug, Clone, Serialize, Deserialize)]
10#[serde(rename_all = "camelCase")]
11pub struct Webhook {
12 pub id: Uuid,
13 pub request_body: Value,
14 pub request_sent_at: DateTime<Utc>,
15 #[serde(skip_serializing_if = "Option::is_none")]
16 pub response_received_at: Option<DateTime<Utc>>,
17}
18
19#[derive(Debug, Clone, Serialize, Deserialize)]
21#[serde(rename_all = "camelCase")]
22pub struct ListWebhooksParams {
23 #[serde(skip_serializing_if = "Option::is_none")]
24 pub resource_id: Option<Uuid>,
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub resource_type: Option<String>,
27 #[serde(skip_serializing_if = "Option::is_none")]
28 pub resource_action: Option<String>,
29 #[serde(skip_serializing_if = "Option::is_none")]
30 pub request_sent_at_before: Option<DateTime<Utc>>,
31 #[serde(skip_serializing_if = "Option::is_none")]
32 pub request_sent_at_after: Option<DateTime<Utc>>,
33 #[serde(skip_serializing_if = "Option::is_none")]
34 pub response_received_at_before: Option<DateTime<Utc>>,
35 #[serde(skip_serializing_if = "Option::is_none")]
36 pub response_received_at_after: Option<DateTime<Utc>>,
37 #[serde(skip_serializing_if = "Option::is_none")]
38 pub cursor: Option<String>,
39 #[serde(skip_serializing_if = "Option::is_none")]
40 pub limit: Option<u32>,
41}