late/models/
verification.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Verification {
17 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
18 pub id: Option<String>,
19 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
20 pub status: Option<Status>,
21 #[serde(rename = "channel", skip_serializing_if = "Option::is_none")]
22 pub channel: Option<Channel>,
23 #[serde(rename = "to", skip_serializing_if = "Option::is_none")]
24 pub to: Option<String>,
25 #[serde(rename = "expiresAt", skip_serializing_if = "Option::is_none")]
26 pub expires_at: Option<String>,
27 #[serde(rename = "attempts", skip_serializing_if = "Option::is_none")]
28 pub attempts: Option<i32>,
29 #[serde(rename = "maxAttempts", skip_serializing_if = "Option::is_none")]
30 pub max_attempts: Option<i32>,
31 #[serde(rename = "sendCount", skip_serializing_if = "Option::is_none")]
33 pub send_count: Option<i32>,
34 #[serde(
35 rename = "lastSentAt",
36 default,
37 with = "::serde_with::rust::double_option",
38 skip_serializing_if = "Option::is_none"
39 )]
40 pub last_sent_at: Option<Option<String>>,
41 #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
42 pub created_at: Option<String>,
43 #[serde(rename = "resend", skip_serializing_if = "Option::is_none")]
45 pub resend: Option<bool>,
46}
47
48impl Verification {
49 pub fn new() -> Verification {
51 Verification {
52 id: None,
53 status: None,
54 channel: None,
55 to: None,
56 expires_at: None,
57 attempts: None,
58 max_attempts: None,
59 send_count: None,
60 last_sent_at: None,
61 created_at: None,
62 resend: None,
63 }
64 }
65}
66#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
68pub enum Status {
69 #[serde(rename = "pending")]
70 Pending,
71 #[serde(rename = "approved")]
72 Approved,
73 #[serde(rename = "expired")]
74 Expired,
75 #[serde(rename = "max_attempts_reached")]
76 MaxAttemptsReached,
77 #[serde(rename = "canceled")]
78 Canceled,
79 #[serde(rename = "delivery_failed")]
80 DeliveryFailed,
81}
82
83impl Default for Status {
84 fn default() -> Status {
85 Self::Pending
86 }
87}
88#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
90pub enum Channel {
91 #[serde(rename = "sms")]
92 Sms,
93}
94
95impl Default for Channel {
96 fn default() -> Channel {
97 Self::Sms
98 }
99}