@@ -3,15 +3,14 @@ use comfy_table::{
33 presets:: { NOTHING , UTF8_FULL } ,
44 ContentArrangement , Row , Table ,
55} ;
6- use snafu:: { ResultExt , Snafu } ;
6+ use snafu:: { ensure , OptionExt as _ , ResultExt , Snafu } ;
77use stackable_operator:: kvp:: { LabelError , Labels } ;
88use tracing:: { debug, info, instrument} ;
99
1010use stackable_cockpit:: {
1111 common:: list,
1212 constants:: { DEFAULT_OPERATOR_NAMESPACE , DEFAULT_PRODUCT_NAMESPACE } ,
1313 platform:: {
14- self ,
1514 demo:: { self , DemoInstallParameters } ,
1615 release, stack,
1716 } ,
@@ -131,11 +130,11 @@ pub enum CmdError {
131130 #[ snafu( display( "no stack with name '{name}'" ) ) ]
132131 NoSuchStack { name : String } ,
133132
134- #[ snafu( display( "no release with name '{name }'" ) ) ]
135- NoSuchRelease { name : String } ,
133+ #[ snafu( display( "no release '{release }'" ) ) ]
134+ NoSuchRelease { release : String } ,
136135
137136 #[ snafu( display( "failed to get latest release" ) ) ]
138- LatestRelease { source : platform :: release :: Error } ,
137+ LatestRelease ,
139138
140139 #[ snafu( display( "failed to build demo/stack/release list" ) ) ]
141140 BuildList { source : list:: Error } ,
@@ -173,20 +172,20 @@ impl DemoArgs {
173172
174173 let release_branch = match & self . release {
175174 Some ( release) => {
176- if !release_list. contains ( release) {
177- return NoSuchReleaseSnafu { name : release } . fail ( ) ;
178- }
175+ ensure ! (
176+ release_list. contains_key( release) ,
177+ NoSuchReleaseSnafu { release }
178+ ) ;
179+
179180 if release == "dev" {
180181 "main" . to_string ( )
181182 } else {
182183 format ! ( "release-{release}" )
183184 }
184185 }
185186 None => {
186- format ! (
187- "release-{release}" ,
188- release = release_list. latest_release( ) . context( LatestReleaseSnafu ) ?
189- )
187+ let ( release_name, _) = release_list. first ( ) . context ( LatestReleaseSnafu ) ?;
188+ format ! ( "release-{release}" , release = release_name, )
190189 }
191190 } ;
192191
@@ -228,7 +227,7 @@ async fn list_cmd(args: &DemoListArgs, cli: &Cli, list: demo::List) -> Result<St
228227 . set_content_arrangement ( arrangement)
229228 . load_preset ( preset) ;
230229
231- for ( index, ( demo_name, demo_spec) ) in list. inner ( ) . iter ( ) . enumerate ( ) {
230+ for ( index, ( demo_name, demo_spec) ) in list. iter ( ) . enumerate ( ) {
232231 let row = Row :: from ( vec ! [
233232 ( index + 1 ) . to_string( ) ,
234233 demo_name. clone( ) ,
@@ -253,8 +252,8 @@ async fn list_cmd(args: &DemoListArgs, cli: &Cli, list: demo::List) -> Result<St
253252
254253 Ok ( result. render ( ) )
255254 }
256- OutputType :: Json => serde_json:: to_string ( & list. inner ( ) ) . context ( SerializeJsonOutputSnafu ) ,
257- OutputType :: Yaml => serde_yaml:: to_string ( & list. inner ( ) ) . context ( SerializeYamlOutputSnafu ) ,
255+ OutputType :: Json => serde_json:: to_string ( & * list) . context ( SerializeJsonOutputSnafu ) ,
256+ OutputType :: Yaml => serde_yaml:: to_string ( & * list) . context ( SerializeYamlOutputSnafu ) ,
258257 }
259258}
260259
0 commit comments