platz_chart_ext/actions/
v1beta1.rs1use super::v0::ChartExtActionV0;
2use crate::versions::{ChartExtKindAction, ChartExtVersionV1Beta1};
3use serde::{Deserialize, Serialize};
4
5#[derive(Clone, Debug, Deserialize, Serialize)]
6#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
7pub struct ChartExtActionsV1Beta1(Vec<ChartExtActionV1Beta1>);
8
9impl ChartExtActionsV1Beta1 {
10 pub fn get_actions(&self) -> Vec<ChartExtActionV0> {
11 self.0.iter().map(|x| x.spec.clone()).collect()
12 }
13 pub fn find(&self, action_id: &str) -> Option<&ChartExtActionV0> {
14 self.0
15 .iter()
16 .find(|action| action.spec.id == action_id)
17 .map(|action| &action.spec)
18 }
19}
20
21#[derive(Clone, Debug, Deserialize, Serialize)]
22#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
23#[serde(rename_all = "camelCase")]
24pub struct ChartExtActionV1Beta1 {
25 pub api_version: ChartExtVersionV1Beta1,
26 pub kind: ChartExtKindAction,
27 pub spec: ChartExtActionV0,
28}