From: Stefan Hanreich <s.hanreich@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox-api-types 1/2] generator: use proxmox_serde for perl helpers
Date: Tue, 13 May 2025 12:14:57 +0200 [thread overview]
Message-ID: <20250513101459.122641-5-s.hanreich@proxmox.com> (raw)
In-Reply-To: <20250513101459.122641-1-s.hanreich@proxmox.com>
The helpers for parsing perl values have been moved to proxmox_serde,
update all references to proxmox_login. No functional changes.
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
---
Cargo.toml | 2 +-
pve-api-types/Cargo.toml | 2 +-
pve-api-types/generator-lib/Schema2Rust.pm | 26 +++++++++++-----------
3 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/Cargo.toml b/Cargo.toml
index 1bbdd01..1e119d3 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -22,7 +22,7 @@ serde_plain = "1"
serde_json = "1"
proxmox-api-macro = "1.3"
-proxmox-login = "0.2"
+proxmox-serde = "0.1.2"
proxmox-schema = "4"
proxmox-client = "0.5"
diff --git a/pve-api-types/Cargo.toml b/pve-api-types/Cargo.toml
index 73cd3ef..e388cac 100644
--- a/pve-api-types/Cargo.toml
+++ b/pve-api-types/Cargo.toml
@@ -18,7 +18,7 @@ serde_json.workspace = true
serde_plain.workspace = true
#
proxmox-api-macro.workspace = true
-proxmox-login.workspace = true
+proxmox-serde = { workspace = true, features = [ "perl" ] }
proxmox-schema = { workspace = true, features = [ "api-types", "api-macro" ] }
# For the client feature:
diff --git a/pve-api-types/generator-lib/Schema2Rust.pm b/pve-api-types/generator-lib/Schema2Rust.pm
index 009cf13..99a8fd6 100644
--- a/pve-api-types/generator-lib/Schema2Rust.pm
+++ b/pve-api-types/generator-lib/Schema2Rust.pm
@@ -1127,18 +1127,18 @@ my sub array_type : prototype($$$) {
}
my %serde_num = (
- usize => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_usize")]',
- isize => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_isize")]',
- u8 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_u8")]',
- u16 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_u16")]',
- u32 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_u32")]',
- u64 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_u64")]',
- i8 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_i8")]',
- i16 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_i16")]',
- i32 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_i32")]',
- i64 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_i64")]',
- f32 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_f32")]',
- f64 => '#[serde(deserialize_with = "proxmox_login::parse::deserialize_f64")]',
+ usize => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_usize")]',
+ isize => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_isize")]',
+ u8 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_u8")]',
+ u16 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_u16")]',
+ u32 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_u32")]',
+ u64 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_u64")]',
+ i8 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_i8")]',
+ i16 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_i16")]',
+ i32 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_i32")]',
+ i64 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_i64")]',
+ f32 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_f32")]',
+ f64 => '#[serde(deserialize_with = "proxmox_serde::perl::deserialize_f64")]',
);
sub handle_def : prototype($$$) {
@@ -1169,7 +1169,7 @@ sub handle_def : prototype($$$) {
} elsif ($type eq 'boolean') {
$def->{type} = 'bool';
push $def->{attrs}->@*,
- "#[serde(deserialize_with = \"proxmox_login::parse::deserialize_bool\")]";
+ "#[serde(deserialize_with = \"proxmox_serde::perl::deserialize_bool\")]";
$def->{api}->{default} = bool(delete $schema->{default});
} elsif ($type eq 'number') {
$def->{api}->{default} = delete $schema->{default};
--
2.39.5
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
next prev parent reply other threads:[~2025-05-13 10:15 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-13 10:14 [pbs-devel] [PATCH proxmox{, -api-types, -ve-rs} 0/6] Move perl deserializers from proxmox-login to proxmox-serde Stefan Hanreich
2025-05-13 10:14 ` [pbs-devel] [PATCH proxmox 1/3] serde: add parsing helpers for perl Stefan Hanreich
2025-05-13 10:14 ` [pbs-devel] [PATCH proxmox 2/3] login: move parse module to proxmox-serde Stefan Hanreich
2025-05-13 10:14 ` [pbs-devel] [PATCH proxmox 3/3] client: move to proxmox_serde perl helpers Stefan Hanreich
2025-05-13 10:14 ` Stefan Hanreich [this message]
2025-05-13 11:44 ` [pbs-devel] [PATCH proxmox-api-types 1/2] generator: use proxmox_serde for " Stefan Hanreich
2025-05-13 10:14 ` [pbs-devel] [PATCH proxmox-ve-rs 1/1] config: use proxmox_serde " Stefan Hanreich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250513101459.122641-5-s.hanreich@proxmox.com \
--to=s.hanreich@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox