supabase_rust_client/
error.rs1use thiserror::Error;
7
8use supabase_rust_auth::AuthError;
10use supabase_rust_postgrest::PostgrestError;
11
12#[derive(Error, Debug)]
15pub enum SupabaseError {
16 #[error("Configuration error: Missing or invalid {0}")]
17 Config(String), #[error("Initialization failed: {0}")]
20 Initialization(String), #[error("Authentication error: {0}")]
24 Auth(#[from] AuthError),
25
26 #[error("Database error: {0}")]
27 Postgrest(#[from] PostgrestError),
28
29 #[error("Realtime error: {0}")]
30 Realtime(String), #[error("Storage error: {0}")]
33 Storage(String), #[error("Function error: {0}")]
36 Function(String), #[error("Network request error: {0}")]
40 Network(#[from] reqwest::Error),
41
42 #[error("URL parsing error: {0}")]
43 UrlParse(#[from] url::ParseError),
44
45 #[error("JSON serialization/deserialization error: {0}")]
46 Json(#[from] serde_json::Error),
47
48 #[error("Invalid input: {0}")]
49 InvalidInput(String),
50
51 #[error("Operation timed out")]
52 Timeout,
53
54 #[error("An unexpected error occurred: {0}")]
55 Internal(String),
56
57 #[error("Unknown error")]
58 Unknown,
59}
60
61pub type Result<T> = std::result::Result<T, SupabaseError>;
63
64