dashboard: show when an approval was requested (closes #272)

This commit is contained in:
iris 2026-05-22 20:06:45 +02:00
parent 908cadb151
commit a9a10b631f
4 changed files with 40 additions and 2 deletions

View file

@ -301,6 +301,9 @@ struct ApprovalView {
/// Manager-supplied description shown on the approval card.
#[serde(skip_serializing_if = "Option::is_none")]
description: Option<String>,
/// Unix seconds the approval was queued. Rendered as a relative
/// time on the card so the operator can spot a stale request. (#272)
requested_at: i64,
}
/// Replace silent `.unwrap_or_default()` on the data sources behind
@ -606,6 +609,7 @@ async fn build_approval_views(approvals: Vec<Approval>) -> Vec<ApprovalView> {
sha_short: Some(sha),
diff: Some(diff),
description: a.description,
requested_at: a.requested_at,
}
}
hive_sh4re::ApprovalKind::Spawn => ApprovalView {
@ -615,6 +619,7 @@ async fn build_approval_views(approvals: Vec<Approval>) -> Vec<ApprovalView> {
sha_short: None,
diff: None,
description: a.description,
requested_at: a.requested_at,
},
hive_sh4re::ApprovalKind::InitConfig => ApprovalView {
id: a.id,
@ -623,6 +628,7 @@ async fn build_approval_views(approvals: Vec<Approval>) -> Vec<ApprovalView> {
sha_short: None,
diff: None,
description: a.description,
requested_at: a.requested_at,
},
hive_sh4re::ApprovalKind::UpdateMetaInputs => ApprovalView {
id: a.id,
@ -631,6 +637,7 @@ async fn build_approval_views(approvals: Vec<Approval>) -> Vec<ApprovalView> {
sha_short: None,
diff: None,
description: a.description,
requested_at: a.requested_at,
},
});
}