#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NdsTransaction {
#[prost(message, optional, tag="1")]
pub id: ::core::option::Option<super::event::EventId>,
#[prost(message, optional, tag="2")]
pub occurred_at: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag="3")]
pub actor: ::core::option::Option<super::identity::NdsIdentity>,
#[prost(message, optional, tag="4")]
pub payload: ::core::option::Option<super::event::NdsPayload>,
#[prost(int32, tag="5")]
pub schema_version: i32,
#[prost(map="string, string", tag="6")]
pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(message, optional, tag="7")]
pub context: ::core::option::Option<super::context::NdsContext>,
#[prost(message, optional, tag="10")]
pub asset: ::core::option::Option<super::asset::AssetId>,
#[prost(message, optional, tag="11")]
pub delta: ::core::option::Option<super::common::Decimal>,
#[prost(enumeration="ConsistencyMode", tag="12")]
pub consistency: i32,
#[prost(message, optional, tag="13")]
pub source: ::core::option::Option<super::identity::NdsIdentity>,
#[prost(message, optional, tag="14")]
pub target: ::core::option::Option<super::identity::NdsIdentity>,
#[prost(string, optional, tag="15")]
pub reason: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration="TransactionStatus", tag="16")]
pub status: i32,
#[prost(string, optional, tag="17")]
pub enforcement_policy_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="18")]
pub rationale: ::core::option::Option<super::audit::NdsRationale>,
#[prost(message, optional, tag="19")]
pub rationale_ref: ::core::option::Option<super::audit::NdsRationaleRef>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateTransactionRequest {
#[prost(message, optional, tag="1")]
pub asset: ::core::option::Option<super::asset::AssetId>,
#[prost(message, optional, tag="2")]
pub delta: ::core::option::Option<super::common::Decimal>,
#[prost(message, optional, tag="3")]
pub actor: ::core::option::Option<super::identity::NdsIdentity>,
#[prost(enumeration="ConsistencyMode", tag="4")]
pub consistency: i32,
#[prost(message, optional, tag="5")]
pub source: ::core::option::Option<super::identity::NdsIdentity>,
#[prost(message, optional, tag="6")]
pub target: ::core::option::Option<super::identity::NdsIdentity>,
#[prost(string, optional, tag="7")]
pub reason: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="8")]
pub context: ::core::option::Option<super::context::NdsContext>,
#[prost(map="string, string", tag="9")]
pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateTransactionResponse {
#[prost(message, optional, tag="1")]
pub result: ::core::option::Option<super::common::NdsResult>,
#[prost(message, optional, tag="2")]
pub transaction: ::core::option::Option<NdsTransaction>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PreviewTransactionResponse {
#[prost(message, optional, tag="1")]
pub result: ::core::option::Option<super::common::NdsResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchCreateTransactionsRequest {
#[prost(message, repeated, tag="1")]
pub requests: ::prost::alloc::vec::Vec<CreateTransactionRequest>,
#[prost(string, optional, tag="2")]
pub batch_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map="string, string", tag="3")]
pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchCreateTransactionsResponse {
#[prost(message, optional, tag="1")]
pub result: ::core::option::Option<super::common::NdsResult>,
#[prost(message, repeated, tag="2")]
pub responses: ::prost::alloc::vec::Vec<CreateTransactionResponse>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamTransactionsRequest {
#[prost(message, optional, tag="1")]
pub asset: ::core::option::Option<super::asset::AssetId>,
#[prost(message, optional, tag="2")]
pub actor: ::core::option::Option<super::identity::NdsIdentity>,
#[prost(message, optional, tag="3")]
pub source: ::core::option::Option<super::identity::NdsIdentity>,
#[prost(message, optional, tag="4")]
pub target: ::core::option::Option<super::identity::NdsIdentity>,
#[prost(message, optional, tag="5")]
pub since: ::core::option::Option<::prost_types::Timestamp>,
#[prost(enumeration="TransactionStatus", repeated, tag="6")]
pub statuses: ::prost::alloc::vec::Vec<i32>,
#[prost(map="string, string", tag="7")]
pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ConsistencyMode {
Unspecified = 0,
Strong = 1,
Eventual = 2,
Optimistic = 3,
}
impl ConsistencyMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CONSISTENCY_MODE_UNSPECIFIED",
Self::Strong => "CONSISTENCY_MODE_STRONG",
Self::Eventual => "CONSISTENCY_MODE_EVENTUAL",
Self::Optimistic => "CONSISTENCY_MODE_OPTIMISTIC",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CONSISTENCY_MODE_UNSPECIFIED" => Some(Self::Unspecified),
"CONSISTENCY_MODE_STRONG" => Some(Self::Strong),
"CONSISTENCY_MODE_EVENTUAL" => Some(Self::Eventual),
"CONSISTENCY_MODE_OPTIMISTIC" => Some(Self::Optimistic),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TransactionStatus {
Unspecified = 0,
Pending = 1,
Committed = 2,
RolledBack = 3,
Failed = 4,
}
impl TransactionStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "TRANSACTION_STATUS_UNSPECIFIED",
Self::Pending => "TRANSACTION_STATUS_PENDING",
Self::Committed => "TRANSACTION_STATUS_COMMITTED",
Self::RolledBack => "TRANSACTION_STATUS_ROLLED_BACK",
Self::Failed => "TRANSACTION_STATUS_FAILED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TRANSACTION_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
"TRANSACTION_STATUS_PENDING" => Some(Self::Pending),
"TRANSACTION_STATUS_COMMITTED" => Some(Self::Committed),
"TRANSACTION_STATUS_ROLLED_BACK" => Some(Self::RolledBack),
"TRANSACTION_STATUS_FAILED" => Some(Self::Failed),
_ => None,
}
}
}