Refactor extract_callenge for code reuse.

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
This commit is contained in:
Wolfgang Link 2020-04-06 13:30:23 +02:00
parent 5460050ded
commit 762af3b15c

View File

@ -3,10 +3,57 @@ package PVE::ACME::Challenge;
use strict;
use warnings;
use PVE::JSONSchema qw(get_standard_option);
use base qw(PVE::SectionConfig);
my $defaultData = {
additionalProperties => 0,
propertyList => {
id => {
description => "ACME Plugin ID name",
type => 'string',
},
type => {
description => "ACME challenge type.",
type => 'string',
},
disable => {
description => "Flag to disable the config.",
type => 'boolean',
optional => 1,
},
nodes => get_standard_option('pve-node-list', { optional => 1 }),
},
};
sub private {
return $defaultData;
}
sub supported_challenge_types {
return {};
}
sub extract_challenge {
my ($self, $challenges, $c_type) = @_;
die "no challenges defined\n" if !$challenges;
die "no challenge type is defined \n" if !$c_type;
my $tmp_challenges = [ grep {$_->{type} eq $c_type} @$challenges ];
die "no $c_type challenge defined in authorization\n"
if ! scalar $tmp_challenges;
my $challenge = $tmp_challenges->[0];
return $challenge;
}
sub get_subplugins {
return [];
}
sub setup {
my ($class, $acme, $authorization) = @_;