auths_core/pairing/
error.rs1use thiserror::Error;
4
5#[derive(Debug, Error)]
7pub enum PairingError {
8 #[error("RNG failed: {0}")]
10 RngFailed(String),
11
12 #[error("Key generation failed: {0}")]
14 KeyGenFailed(String),
15
16 #[error("Pairing token expired")]
18 Expired,
19
20 #[error("Invalid signature")]
22 InvalidSignature,
23
24 #[error("Invalid URI format: {0}")]
26 InvalidUri(String),
27
28 #[error("Invalid short code: {0}")]
30 InvalidShortCode(String),
31
32 #[error("QR code generation failed: {0}")]
34 QrCodeFailed(String),
35
36 #[error("Serialization error: {0}")]
38 Serialization(String),
39
40 #[error("Key exchange failed: {0}")]
42 KeyExchangeFailed(String),
43
44 #[error("Session ephemeral secret already consumed")]
46 SessionConsumed,
47
48 #[error("Short code not found: {0}")]
50 ShortCodeNotFound(String),
51
52 #[error("Relay error: {0}")]
54 RelayError(String),
55
56 #[error("Local server error: {0}")]
58 LocalServerError(String),
59
60 #[error("mDNS error: {0}")]
62 MdnsError(String),
63
64 #[error("No peer found on local network")]
66 NoPeerFound,
67
68 #[error("LAN pairing timed out")]
70 LanTimeout,
71}
72
73impl From<serde_json::Error> for PairingError {
74 fn from(e: serde_json::Error) -> Self {
75 PairingError::Serialization(e.to_string())
76 }
77}