all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pdm-devel] [PATCH pve-api-types 1/2] generator: fix methods with url params but no query string
@ 2025-02-26 14:05 Stefan Hanreich
  2025-02-26 14:05 ` [pdm-devel] [PATCH pve-api-types 2/2] regenerate Stefan Hanreich
  0 siblings, 1 reply; 2+ messages in thread
From: Stefan Hanreich @ 2025-02-26 14:05 UTC (permalink / raw)
  To: pdm-devel

Commit 076b7f75 introduced a regression where endpoints that have URL
parameters ('/url/with/{param}') would not get generated with format!
calls. This causes URL endpoints such as get_task_status to fail,
since those parameters do not get substituted.

Fixes: 076b7f75 ("generator: avoid useless format!() calls")
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
---
 pve-api-types/generator-lib/Schema2Rust.pm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/pve-api-types/generator-lib/Schema2Rust.pm b/pve-api-types/generator-lib/Schema2Rust.pm
index 1ba21ed..b4de3b6 100644
--- a/pve-api-types/generator-lib/Schema2Rust.pm
+++ b/pve-api-types/generator-lib/Schema2Rust.pm
@@ -487,7 +487,7 @@ my sub print_method_without_body : prototype($$$$$) {
             }
         }
         print {$out} "    let url = &format!(\"/api2/extjs$def->{url}\{query}\");\n";
-    } elsif (defined($input = $def->{input})) {
+    } elsif (defined($input = $def->{input}) && $input->@*) {
         for my $arg ($input->@*) {
             print {$out} "    $arg->{rust_name}: $arg->{type},\n";
         }
@@ -520,7 +520,12 @@ my sub print_method_without_body : prototype($$$$$) {
             print_default_impl($out, $name);
             return;
         }
-        print {$out} "    let url = \"/api2/extjs$def->{url}\";\n";
+
+        if (defined($def->{url_params}) && $def->{url_params}->@*) {
+            print {$out} "    let url = &format!(\"/api2/extjs$def->{url}\");\n";
+        } else {
+            print {$out} "    let url = \"/api2/extjs$def->{url}\";\n";
+        }
     }
 
     my $call = return_expr($def, "self.0.$method(url).await?");
-- 
2.39.5


_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-02-26 14:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-26 14:05 [pdm-devel] [PATCH pve-api-types 1/2] generator: fix methods with url params but no query string Stefan Hanreich
2025-02-26 14:05 ` [pdm-devel] [PATCH pve-api-types 2/2] regenerate Stefan Hanreich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal