fireblocks_sdk/models/
approval_request.rs1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ApprovalRequest {
17 #[serde(rename = "id")]
19 pub id: String,
20 #[serde(rename = "type")]
22 pub r#type: Type,
23 #[serde(rename = "state")]
25 pub state: State,
26}
27
28impl ApprovalRequest {
29 pub fn new(id: String, r#type: Type, state: State) -> ApprovalRequest {
31 ApprovalRequest { id, r#type, state }
32 }
33}
34#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
36pub enum Type {
37 #[serde(rename = "TAG_UPDATE")]
38 TagUpdate,
39 #[serde(rename = "TAG_DELETE")]
40 TagDelete,
41 #[serde(rename = "TAG_ATTACH_DETACH")]
42 TagAttachDetach,
43}
44
45impl Default for Type {
46 fn default() -> Type {
47 Self::TagUpdate
48 }
49}
50#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
52pub enum State {
53 #[serde(rename = "PENDING")]
54 Pending,
55 #[serde(rename = "APPROVED")]
56 Approved,
57 #[serde(rename = "REJECTED")]
58 Rejected,
59 #[serde(rename = "FAILED")]
60 Failed,
61 #[serde(rename = "CANCELLED")]
62 Cancelled,
63 #[serde(rename = "EXPIRED")]
64 Expired,
65}
66
67impl Default for State {
68 fn default() -> State {
69 Self::Pending
70 }
71}