Skip to main content

proto/
message_status.rs

1// SPDX-License-Identifier: Apache-2.0
2use 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}