package Common::Amazon::SQS::EmailSent;

use strict;
use warnings;

use lib '/app/tools/common/lib';
use base 'Common::Amazon::SQS';

sub qname { 'EmailSent' }

sub parse_message {
    my $self    = shift;
    my $message = shift;

    my $href = $self->message_ref($message);

    ## mail
    my $mail  = $href->{'mail'};
    my $sub   = $mail->{'commonHeaders'}->{'subject'};
    my $mtime = $self->parse_timestamp( $mail->{'timestamp'} );

    ## delivery
    my $del   = $href->{'delivery'};
    my $resp  = $del->{'smtpResponse'};
    my $dtime = $self->parse_timestamp( $del->{'timestamp'} );

    my $data;
    foreach my $to ( @{ $mail->{'destination'} } ) {
        push @{$data},
          {
            'email_address' => $to,
            'email_subject' => $sub,
            'response'      => $resp,
            'mailed'        => $mtime,
            'delivered'     => $dtime,
          };
    }
    $data;
}

1;
