1use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct Status {
6 pub code: StatusCode,
7 pub message: String,
8 pub progress: Option<f32>,
9}
10
11#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
12pub enum StatusCode {
13 Progress,
14 Success,
15 Warning,
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
19pub struct Error {
20 pub code: ErrorCode,
21 pub message: String,
22 pub details: Option<String>,
23}
24
25#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
26pub enum ErrorCode {
27 General,
28 InvalidArgument,
29 NotFound,
30 PermissionDenied,
31 Network,
32 Protocol,
33 Server,
34}