Skip to main content

fireblocks_sdk/models/
approval_request.rs

1// Fireblocks API
2//
3// Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
4//
5// The version of the OpenAPI document: 1.8.0
6// Contact: developers@fireblocks.com
7// Generated by: https://openapi-generator.tech
8
9use {
10    crate::models,
11    serde::{Deserialize, Serialize},
12};
13
14/// ApprovalRequest : Approval request details
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ApprovalRequest {
17    /// The approval request identifier
18    #[serde(rename = "id")]
19    pub id: String,
20    /// The approval request type
21    #[serde(rename = "type")]
22    pub r#type: Type,
23    /// The approval request state
24    #[serde(rename = "state")]
25    pub state: State,
26}
27
28impl ApprovalRequest {
29    /// Approval request details
30    pub fn new(id: String, r#type: Type, state: State) -> ApprovalRequest {
31        ApprovalRequest { id, r#type, state }
32    }
33}
34/// The approval request type
35#[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/// The approval request state
51#[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}