1package App::Netdisco::Worker::Plugin::Delete; 2 3use Dancer ':syntax'; 4use App::Netdisco::Worker::Plugin; 5use aliased 'App::Netdisco::Worker::Status'; 6 7use App::Netdisco::Util::Device 'delete_device'; 8 9register_worker({ phase => 'check' }, sub { 10 return Status->error('Missing device (-d).') 11 unless shift->device; 12 return Status->done('Delete is able to run'); 13}); 14 15register_worker({ phase => 'main' }, sub { 16 my ($job, $workerconf) = @_; 17 my ($device, $port, $extra) = map {$job->$_} qw/device port extra/; 18 19 $port = ($port ? 1 : 0); 20 delete_device($device, $port, $extra); 21 return Status->done("Deleted device: $device"); 22}); 23 24true; 25