1use serde_json::Error as SerializeError;
2use thiserror::Error;
3
4#[derive(Debug, Error)]
5pub enum RebaseError {
6 #[error("capability error: {0}")]
7 CapabilityError(#[from] CapabilityError),
8 #[error("content error: {0}")]
9 Content(#[from] ContentError),
10 #[error("issuer error: {0}")]
11 Issuer(#[from] IssuerError),
12 #[error("subject error: {0}")]
13 Subject(#[from] SubjectError),
14 #[error("statement error: {0}")]
15 Statement(#[from] StatementError),
16 #[error("proof error: {0}")]
17 Proof(#[from] ProofError),
18 #[error("flow error: {0}")]
19 Flow(#[from] FlowError),
20}
21
22#[derive(Debug, Error)]
23pub enum CapabilityError {
24 #[error("recap error: {0}")]
25 ReCapError(String),
26}
27
28#[derive(Debug, Error)]
29pub enum SubjectError {
30 #[error("failed to generate subject type: {0}")]
31 SubjType(String),
32 #[error("invalid signature: {0}")]
33 Validation(String),
34 #[error("failed to generate did string: {0}")]
35 Did(String),
36}
37
38#[derive(Debug, Error)]
39pub enum IssuerError {
40 #[error("{0}")]
41 Subject(#[from] SubjectError),
42 #[error("failed to generate signature: {0}")]
43 Sign(String),
44 #[error("failed to sign verifiable credential: {0}")]
45 Vc(String),
46 #[error("failed to generate jwt: {0}")]
47 Jwt(String),
48 #[error("failed to generate proof: {0}")]
49 Proof(String),
50 #[error("internal error: {0}")]
51 Internal(String),
52}
53
54#[derive(Debug, Error)]
55pub enum ContentError {
56 #[error("{0}")]
57 Subject(#[from] SubjectError),
58 #[error("{0}")]
59 Issuer(#[from] IssuerError),
60 #[error{"serialization error: {0}"}]
61 Serialize(#[from] SerializeError),
62 #[error{"invalid content: {0}"}]
63 Invalid(String),
64}
65
66#[derive(Debug, Error)]
67pub enum StatementError {
68 #[error("failed to generate statement: {0}")]
69 Statement(String),
70 #[error("{0}")]
71 Subject(#[from] SubjectError),
72}
73
74#[derive(Debug, Error)]
75pub enum ProofError {
76 #[error("failed to generate content: {0}")]
77 ContentGeneration(String),
78 #[error("{0}")]
79 Statement(#[from] StatementError),
80 #[error("{0}")]
81 Subject(#[from] SubjectError),
82}
83
84#[derive(Debug, Error)]
85pub enum FlowError {
86 #[error("failed in proof look up: {0}")]
87 BadLookup(String),
88 #[error("failed to validate proof: {0}")]
89 Validation(String),
90 #[error("{0}")]
91 Content(#[from] ContentError),
92 #[error("{0}")]
93 Proof(#[from] ProofError),
94 #[error("{0}")]
95 Statement(#[from] StatementError),
96 #[error("{0}")]
97 Subject(#[from] SubjectError),
98 #[error("{0}")]
99 Issuer(#[from] IssuerError),
100}