agentic_commerce_protocol/models/
error_code.rs1use std::fmt;
3
4use serde::{Deserialize, Serialize};
5
6#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
7pub enum ErrorCode {
8 #[serde(rename = "missing")]
9 Missing,
10 #[serde(rename = "invalid")]
11 Invalid,
12 #[serde(rename = "out_of_stock")]
13 OutOfStock,
14 #[serde(rename = "payment_declined")]
15 PaymentDeclined,
16 #[serde(rename = "requires_sign_in")]
17 RequiresSignIn,
18 #[serde(rename = "requires_3ds")]
19 Requires3ds,
20}
21
22impl fmt::Display for ErrorCode {
23 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
24 let value = match self {
25 Self::Missing => "missing",
26 Self::Invalid => "invalid",
27 Self::OutOfStock => "out_of_stock",
28 Self::PaymentDeclined => "payment_declined",
29 Self::RequiresSignIn => "requires_sign_in",
30 Self::Requires3ds => "requires_3ds",
31 };
32 f.write_str(value)
33 }
34}