package Net::ACME2::Order; use strict; use warnings; =encoding utf-8 =head1 NAME Net::ACME2::Order =head1 DESCRIPTION The ACME Order object. =cut use parent qw( Net::ACME2::AccessorBase ); use Call::Context (); use constant _ACCESSORS => ( 'id', 'status', 'expires', 'notBefore', 'notAfter', 'certificate', 'finalize', ); =head1 ACCESSORS These provide text strings as defined in the ACME specification: =over =item * B =item * B =item * B =item * B =item * B =item * B =item * B =back =head2 I->authorizations() The URLs for the order’s authorizations. =cut sub authorizations { my ($self) = @_; Call::Context::must_be_list(); return @{ $self->{'_authorizations'} }; } =head2 I->identifiers() The order’s identifiers, as a list of hash references. The content matches the ACME specification. =cut sub identifiers { my ($self) = @_; Call::Context::must_be_list(); return map { { %$_ } } @{ $self->{'_identifiers'} }; } #Only to be called from ACME2.pm? sub update { my ($self, $new_hr) = @_; for my $name ( 'status', 'certificate' ) { $self->{"_$name"} = $new_hr->{$name}; } return $self; } 1;