1use thiserror::Error;
2
3#[derive(Debug, Error)]
7pub enum CoreError {
8 #[error("invalid config: missing required field `{field}`")]
9 MissingConfigField { field: String },
10
11 #[error("invalid config: field `{field}` has wrong type")]
12 WrongConfigType { field: String },
13
14 #[error("project not found: id={0:?}")]
15 ProjectNotFound(crate::ProjectId),
16
17 #[error("project namespace already exists: {0}")]
18 NamespaceConflict(String),
19
20 #[error("invalid input: {0}")]
21 InvalidInput(String),
22
23 #[error("conflict: {0}")]
26 Conflict(String),
27
28 #[error("unauthorized: {0}")]
31 Unauthorized(String),
32
33 #[error("forbidden: {0}")]
36 Forbidden(String),
37}