tree-wide: replace serde_json::from_value(a_value.clone())
`&Value` itself implements `Deserializer` and can therefore be passed directly to `T::deserialize` without requiring an intermediate `clone()`. (This also enables optionally borrowing strings if the result has a short enough lifetime) Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
committed by
Thomas Lamprecht
parent
845baef61b
commit
38774184a9
@ -30,7 +30,7 @@ pub(crate) fn get_acme_plugin(
|
||||
|
||||
Ok(Some(match ty.as_str() {
|
||||
"dns" => {
|
||||
let plugin: DnsPlugin = serde_json::from_value(data.clone())?;
|
||||
let plugin: DnsPlugin = serde::Deserialize::deserialize(data)?;
|
||||
Box::new(plugin)
|
||||
}
|
||||
"standalone" => {
|
||||
|
@ -706,7 +706,7 @@ pub fn update_plugin(
|
||||
bail!("cannot update plugin of type {:?}", ty);
|
||||
}
|
||||
|
||||
let mut plugin: DnsPlugin = serde_json::from_value(entry.clone())?;
|
||||
let mut plugin = DnsPlugin::deserialize(&*entry)?;
|
||||
|
||||
if let Some(delete) = delete {
|
||||
for delete_prop in delete {
|
||||
|
@ -1,6 +1,6 @@
|
||||
use anyhow::{Error, bail};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::{Value, to_value};
|
||||
use ::serde::{Deserialize, Serialize};
|
||||
use hex::FromHex;
|
||||
|
||||
use proxmox_router::{ApiMethod, Router, RpcEnvironment, Permission};
|
||||
@ -539,7 +539,7 @@ pub fn update_interface(
|
||||
let interface = config.lookup_mut(&iface)?;
|
||||
|
||||
if let Some(interface_type) = param.get("type") {
|
||||
let interface_type: NetworkInterfaceType = serde_json::from_value(interface_type.clone())?;
|
||||
let interface_type = NetworkInterfaceType::deserialize(interface_type)?;
|
||||
if interface_type != interface.interface_type {
|
||||
bail!("got unexpected interface type ({:?} != {:?})", interface_type, interface.interface_type);
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
use anyhow::Error;
|
||||
use serde::Deserialize;
|
||||
use serde_json::Value;
|
||||
|
||||
use proxmox_router::{cli::*, ApiHandler, RpcEnvironment};
|
||||
@ -77,7 +78,7 @@ async fn list_media(param: Value, rpcenv: &mut dyn RpcEnvironment) -> Result<(),
|
||||
};
|
||||
|
||||
fn render_status(_value: &Value, record: &Value) -> Result<String, Error> {
|
||||
let record: MediaListEntry = serde_json::from_value(record.clone())?;
|
||||
let record = MediaListEntry::deserialize(record)?;
|
||||
Ok(match record.status {
|
||||
MediaStatus::Damaged | MediaStatus::Retired => serde_json::to_value(&record.status)?
|
||||
.as_str()
|
||||
|
Reference in New Issue
Block a user