diff --git a/codegenerator/templates/rust_tui/impl.rs.j2 b/codegenerator/templates/rust_tui/impl.rs.j2 index e048ae6..1bdac31 100644 --- a/codegenerator/templates/rust_tui/impl.rs.j2 +++ b/codegenerator/templates/rust_tui/impl.rs.j2 @@ -162,8 +162,8 @@ impl ExecuteApiRequest for {{ class_name }} { async fn execute_request( &self, session: &mut AsyncOpenStack, - {{ "_" if operation_type == "delete" else ""}}request: &ApiRequest, - {{ "_" if operation_type == "delete" else ""}}app_tx: &UnboundedSender, + request: &ApiRequest, + app_tx: &UnboundedSender, ) -> Result<(), CloudWorkerError> { let ep = TryInto::::try_into(self)? .build() @@ -176,19 +176,24 @@ impl ExecuteApiRequest for {{ class_name }} { {%- else %} data: ep.query_async(session).await?, {%- endif %} - })?; + })?; {%- elif operation_type == "show" %} app_tx.send(Action::ApiResponseData { request: request.clone(), data: ep.query_async(session).await?, - })?; + })?; {%- elif operation_type in ["action", "set"] %} app_tx.send(Action::ApiResponseData { request: request.clone(), data: ep.query_async(session).await?, - })?; + })?; {%- elif operation_type == "delete" %} ignore(ep).query_async(session).await?; + // Let caller know deletion was completed + app_tx.send(Action::ApiResponseData { + request: request.clone(), + data: serde_json::Value::Null, + })?; {%- endif %} Ok(()) }