mirror of
git://git.proxmox.com/git/proxmox-backup.git
synced 2025-01-05 09:17:59 +03:00
client: add 'remove_repository_from_value' helper
'extract_repository_from_value' takes an immutable reference and doesn't remove the parsed parameter (whereas in contrast in our PVE codebase, the 'extract_param' method does remove it). This adds a variant that explicitly removes it called 'remove_repository_from_value'. Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
parent
00c88a42a2
commit
8e924a7bc0
@ -126,6 +126,23 @@ pub fn get_default_repository() -> Option<String> {
|
||||
std::env::var("PBS_REPOSITORY").ok()
|
||||
}
|
||||
|
||||
pub fn remove_repository_from_value(param: &mut Value) -> Result<BackupRepository, Error> {
|
||||
if let Some(url) = param
|
||||
.as_object_mut()
|
||||
.ok_or_else(|| format_err!("unable to get repository (parameter is not an object)"))?
|
||||
.remove("repository")
|
||||
{
|
||||
return url
|
||||
.as_str()
|
||||
.ok_or_else(|| format_err!("invalid repository value (must be a string)"))?
|
||||
.parse();
|
||||
}
|
||||
|
||||
get_default_repository()
|
||||
.ok_or_else(|| format_err!("unable to get default repository"))?
|
||||
.parse()
|
||||
}
|
||||
|
||||
pub fn extract_repository_from_value(param: &Value) -> Result<BackupRepository, Error> {
|
||||
let repo_url = param["repository"]
|
||||
.as_str()
|
||||
|
Loading…
Reference in New Issue
Block a user