Skip to content

Commit 86470d1

Browse files
committed
usage will be shown if populated
1 parent 6677317 commit 86470d1

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

lib/api/src/rest/models.rs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,30 @@ pub struct ApiResponse<D> {
4444
pub result: Option<D>,
4545
pub status: ApiStatus,
4646
pub time: f64,
47-
#[serde(skip_serializing_if = "Option::is_none")]
47+
#[serde(skip_serializing_if = "is_usage_none_or_empty")]
4848
pub usage: Option<Usage>,
4949
}
5050

5151
/// Usage of the hardware resources, spent to process the request
52-
#[derive(Debug, Serialize, JsonSchema, Anonymize, Clone, Default)]
52+
#[derive(Debug, Serialize, JsonSchema, Anonymize, Clone)]
5353
#[serde(rename_all = "snake_case")]
5454
#[anonymize(false)]
5555
pub struct Usage {
5656
#[serde(skip_serializing_if = "Option::is_none")]
5757
pub hardware: Option<HardwareUsage>,
5858
}
5959

60+
impl Usage {
61+
pub fn is_empty(&self) -> bool {
62+
let Usage { hardware } = self;
63+
hardware.is_none()
64+
}
65+
}
66+
67+
fn is_usage_none_or_empty(u: &Option<Usage>) -> bool {
68+
u.as_ref().map_or(true, |usage| usage.is_empty())
69+
}
70+
6071
/// Usage of the hardware resources, spent to process the request
6172
#[derive(Debug, Serialize, JsonSchema, Anonymize, Clone)]
6273
#[serde(rename_all = "snake_case")]

0 commit comments

Comments
 (0)