use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct WebhookLog {
#[serde(rename = "userId", skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
#[serde(rename = "webhookId", skip_serializing_if = "Option::is_none")]
pub webhook_id: Option<String>,
#[serde(rename = "webhookName", skip_serializing_if = "Option::is_none")]
pub webhook_name: Option<String>,
#[serde(rename = "eventId", skip_serializing_if = "Option::is_none")]
pub event_id: Option<String>,
#[serde(rename = "event", skip_serializing_if = "Option::is_none")]
pub event: Option<String>,
#[serde(rename = "url", skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<Status>,
#[serde(rename = "statusCode", skip_serializing_if = "Option::is_none")]
pub status_code: Option<i32>,
#[serde(rename = "requestPayload", skip_serializing_if = "Option::is_none")]
pub request_payload: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "responseBody", skip_serializing_if = "Option::is_none")]
pub response_body: Option<String>,
#[serde(rename = "errorMessage", skip_serializing_if = "Option::is_none")]
pub error_message: Option<String>,
#[serde(rename = "attemptNumber", skip_serializing_if = "Option::is_none")]
pub attempt_number: Option<i32>,
#[serde(rename = "responseTime", skip_serializing_if = "Option::is_none")]
pub response_time: Option<i32>,
#[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
}
impl WebhookLog {
pub fn new() -> WebhookLog {
WebhookLog {
user_id: None,
webhook_id: None,
webhook_name: None,
event_id: None,
event: None,
url: None,
status: None,
status_code: None,
request_payload: None,
response_body: None,
error_message: None,
attempt_number: None,
response_time: None,
created_at: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "success")]
Success,
#[serde(rename = "failed")]
Failed,
}
impl Default for Status {
fn default() -> Status {
Self::Success
}
}