fireblocks_sdk/models/
authorization_info.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/// AuthorizationInfo : The information about your [Transaction Authorization Policy (TAP).](https://developers.fireblocks.com/docs/capabilities#transaction-authorization-policy-tap)
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct AuthorizationInfo {
17    #[serde(
18        rename = "allowOperatorAsAuthorizer",
19        skip_serializing_if = "Option::is_none"
20    )]
21    pub allow_operator_as_authorizer: Option<bool>,
22    #[serde(rename = "logic", skip_serializing_if = "Option::is_none")]
23    pub logic: Option<Logic>,
24    #[serde(rename = "groups", skip_serializing_if = "Option::is_none")]
25    pub groups: Option<Vec<models::AuthorizationGroups>>,
26}
27
28impl AuthorizationInfo {
29    /// The information about your [Transaction Authorization Policy (TAP).](https://developers.fireblocks.com/docs/capabilities#transaction-authorization-policy-tap)
30    pub fn new() -> AuthorizationInfo {
31        AuthorizationInfo {
32            allow_operator_as_authorizer: None,
33            logic: None,
34            groups: None,
35        }
36    }
37}
38///
39#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
40pub enum Logic {
41    #[serde(rename = "AND")]
42    And,
43    #[serde(rename = "OR")]
44    Or,
45}
46
47impl Default for Logic {
48    fn default() -> Logic {
49        Self::And
50    }
51}