On Fri, Dec 28, 2018 at 10:34:55AM +0100, Wolfgang Bumiller wrote: > On Wed, Dec 19, 2018 at 09:37:21AM +0100, Fabian Grünbichler wrote: > > convenience filter if caller is only interested in certain actions > > > > Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com> > > --- > > PVE/API2/Tasks.pm | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/PVE/API2/Tasks.pm b/PVE/API2/Tasks.pm > > index 95a13c56..dfa3cc04 100644 > > --- a/PVE/API2/Tasks.pm > > +++ b/PVE/API2/Tasks.pm > > @@ -49,6 +49,11 @@ __PACKAGE__->register_method({ > > optional => 1, > > description => "Only list tasks from this user.", > > }, > > + typefilter => { > > + type => 'string', > > + optional => 1, > > + description => 'Only list tasks of this type (e.g., vzstart, > > vzdump).', > > + }, > > vmid => get_standard_option('pve-vmid', { > > description => "Only list tasks for this VM.", > > optional => 1, > > @@ -99,6 +104,7 @@ __PACKAGE__->register_method({ > > my $start = $param->{start} // 0; > > my $limit = $param->{limit} // 50; > > my $userfilter = $param->{userfilter}; > > + my $typefilter = $param->{typefilter}; > > my $errors = $param->{errors} // 0; > > my $include_active = $param->{active} // 0; > > > > @@ -113,6 +119,8 @@ __PACKAGE__->register_method({ > > return 1 if $userfilter && $task->{user} !~ m/\Q$userfilter\E/i; > > return 1 if !($auditor || $user eq $task->{user}); > > > > + return 1 if $typefilter && $task->{type} ne $typefilter; > > $task->{type} is defined as optional in the return schema so we should > probably check it for defined()ness before using it?
I think the return schema is wrong here - type is initialized in fork_worker if undef, and the decoder used here only decodes upids with a type of at least one character ;) v2 with updated return schema? most of the other fields are not optional either AFAICT.. maybe they were at some point in the past? > > > + > > return 1 if $errors && $task->{status} && $task->{status} eq 'OK'; > > return 1 if $param->{vmid} && (!$task->{id} || $task->{id} ne > > $param->{vmid}); > > > > -- > > 2.19.2 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel