monzo_webhook/
metadata.rs

1pub mod faster_payment;
2pub mod flex_transaction;
3pub mod ledger;
4pub mod merchant_transaction;
5pub mod money_transfer;
6pub mod monzo_to_monzo;
7pub mod shared_metadata;
8
9// no_extra is safe here as spare data is picked up elsewhere
10struct_with_extra! { no_extra WebhookMetadata,
11    notes: Option<String>,
12    #[serde(flatten)]
13    subtype: WebhookMetadataSubtype,
14}
15
16enum_with_extra! {
17    untagged WebhookMetadataSubtype,
18    FasterPayment(faster_payment::FasterPayment),
19    MonzoToMonzoTransfer(monzo_to_monzo::MonzoToMonzoTransfer),
20    MoneyTransfer(money_transfer::MoneyTransfer),
21    MerchantTransaction(merchant_transaction::MerchantTransaction),
22    FlexTransaction(flex_transaction::FlexTransaction),
23}