On 4/6/20 1:31 PM, Dominik Csapak wrote:
> we want the api options to be optional, but only as long as there are
> default values set in the realm config
> 
> since they are all marked as optional (else they would be required in
> the api) this check did not work as intended
> 
> instead, check if there exists a 'default' instead (which we then use)
> 
> Signed-off-by: Dominik Csapak <d.csa...@proxmox.com>
> ---
>  PVE/API2/Domains.pm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/PVE/API2/Domains.pm b/PVE/API2/Domains.pm
> index 8ae1db0..b42d4f6 100644
> --- a/PVE/API2/Domains.pm
> +++ b/PVE/API2/Domains.pm
> @@ -359,7 +359,7 @@ my $parse_sync_opts = sub {
>       } elsif (!exists $res->{$opt}) {
>           raise_param_exc({
>               "$opt" => 'Not passed as parameter and not defined in realm 
> default sync options.'
> -         }) if !$fmt->{optional};
> +         }) if !exists $fmt->{default};
>           $res->{$opt} = $fmt->{default} if exists $fmt->{default};

The checks seems now redundant and possible incomplete, just because now all
are always optional doesn't mean that it is the case in the future. We could do:

raise_param_exc(...) if !$fmt->{optional} || !exists $fmt->{default};

$res->{$opt} = $fmt->{default};


Need to rethink this, as is it's not correct (thanks for noticing) but I think
that I thought about something else here, damn brain..

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

Reply via email to