1use thiserror::Error;
4
5pub type Result<T> = std::result::Result<T, Error>;
7
8#[derive(Debug, Error)]
10pub enum Error {
11 #[error("Invalid name: {0}")]
13 InvalidName(String),
14
15 #[error("Invalid address: {0}")]
17 InvalidAddress(String),
18
19 #[error("Invalid identifier: {0}")]
21 InvalidIdentifier(String),
22
23 #[error("Invalid date: {0}")]
25 InvalidDate(String),
26
27 #[error("Invalid national identification: {0}")]
29 InvalidNationalId(String),
30
31 #[error("Invalid customer identification: {0}")]
33 InvalidCustomerId(String),
34
35 #[error("Invalid registration authority: {0}")]
37 InvalidRegistrationAuthority(String),
38
39 #[error("Invalid country code: {0}")]
41 InvalidCountryCode(String),
42
43 #[error("Invalid currency code: {0}")]
45 InvalidCurrencyCode(String),
46
47 #[error("Invalid LEI: {0}")]
49 InvalidLei(String),
50
51 #[error("Invalid BIC: {0}")]
53 InvalidBic(String),
54
55 #[error("Missing required field: {0}")]
57 MissingRequiredField(String),
58
59 #[error("Invalid {field} value: {value}")]
61 InvalidEnumValue { field: String, value: String },
62
63 #[error("Validation failed: {issues:?}")]
65 ValidationFailed { issues: Vec<String> },
66
67 #[error("Serialization error: {0}")]
69 Serialization(#[from] serde_json::Error),
70}