use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SignerDto {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "signer")]
pub signer: String,
#[serde(rename = "status")]
pub status: Status,
#[serde(rename = "blockNumber", skip_serializing_if = "Option::is_none")]
pub block_number: Option<String>,
#[serde(rename = "linkedAt", skip_serializing_if = "Option::is_none")]
pub linked_at: Option<f64>,
#[serde(rename = "revokedBlockNumber", skip_serializing_if = "Option::is_none")]
pub revoked_block_number: Option<String>,
#[serde(rename = "revokedAt", skip_serializing_if = "Option::is_none")]
pub revoked_at: Option<f64>,
#[serde(rename = "expiresAt")]
pub expires_at: f64,
#[serde(rename = "createdAt")]
pub created_at: f64,
}
impl SignerDto {
pub fn new(
id: String,
signer: String,
status: Status,
expires_at: f64,
created_at: f64,
) -> SignerDto {
SignerDto {
id,
signer,
status,
block_number: None,
linked_at: None,
revoked_block_number: None,
revoked_at: None,
expires_at,
created_at,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "PENDING")]
Pending,
#[serde(rename = "ACTIVE")]
Active,
#[serde(rename = "PENDING_REVOKE")]
PendingRevoke,
#[serde(rename = "REVOKED")]
Revoked,
#[serde(rename = "REJECTED")]
Rejected,
}
impl Default for Status {
fn default() -> Status {
Self::Pending
}
}