You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
885 B
42 lines
885 B
use reqwest::Error as ReqError; |
|
use serde::{ |
|
Serialize, |
|
Deserialize |
|
}; |
|
use thiserror::Error; |
|
use uuid::Uuid; |
|
|
|
pub type UResult<T> = std::result::Result<T, UError>; |
|
|
|
#[derive(Error, Debug, Serialize, Deserialize, Clone)] |
|
pub enum UError { |
|
#[error("Error: {0}")] |
|
Raw(&'static str), |
|
|
|
#[error("Connection error: {0}")] |
|
NetError(String), |
|
|
|
#[error("Parse error")] |
|
ParseError, |
|
|
|
#[error("Job error: {0}")] |
|
JobError(String), |
|
|
|
#[error("Job is uncompleted yet")] |
|
JobUncompleted, |
|
|
|
#[error("Job cannot be ran on this platform. Expected: {0}, got: {1}")] |
|
InsuitablePlatform(String, String), |
|
|
|
#[error("Task {0} doesn't exist")] |
|
NoTask(Uuid), |
|
|
|
#[error("Error opening {0}: {1}")] |
|
FilesystemError(String, String) |
|
} |
|
|
|
impl From<ReqError> for UError { |
|
fn from(e: ReqError) -> Self { |
|
UError::NetError(e.to_string()) |
|
} |
|
} |