caldir_core/provider/
error.rs1use std::path::PathBuf;
2
3use super::ProviderSlug;
4use super::transport::ProviderTransportError;
5
6#[derive(Debug, thiserror::Error)]
7#[non_exhaustive]
8pub enum ProviderError {
9 #[error("provider {0}")]
10 TransportFor(ProviderSlug, #[source] ProviderTransportError),
11
12 #[error("Provider file is not executable: {0}")]
13 NotExecutable(PathBuf),
14
15 #[error("Provider filename does not match `caldir-provider-<name>`: {0}")]
16 InvalidProviderFilename(PathBuf),
17
18 #[error("Provider {0} not found")]
19 ProviderNotFound(String),
20
21 #[error(transparent)]
22 Transport(#[from] ProviderTransportError),
23
24 #[error("failed to serialize provider request")]
25 Serialize(#[source] serde_json::Error),
26
27 #[error("failed to deserialize provider response")]
28 Deserialize(#[source] serde_json::Error),
29
30 #[error("{0}")]
31 Provider(String),
32}