rebase/types/
error.rs

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}