package RPS::Import::7Digital::v14;

use strict;

use Date::Calc qw(Days_in_Month);

use Data::Dumper;

use lib '/app/tools/common/lib';

use lib '/app/tools/rps/lib';
use RPS::Import::ServiceMap;

use base 'RPS::Import::Importer';

sub _fieldMap {
    {
        dateBegin     => 'A',
        labelName     => 'L',
        upc           => 'I',
        albumName     => 'G',
        isrc          => 'F',
        trackName     => 'H',
        units         => 'M',
        price         => 'N',
        countryCode   => 'B',
        currencyCode  => 'O',
    }
}

sub _unverifiedFieldMap {
    {
        serviceName   => 'E',
    }
}

sub _headerIdentifier { ( upc => 'UPC' ) }

sub saleDates {
    my $self  = shift;
    my $dt = $self->_getByFieldName('dateBegin');

    return $self->_getDates( date_begin => $dt, type => 'eur' );
}

sub serviceID {
    my $self = shift;
    my $serviceName = $self->_getByFieldName('serviceName');
    my $serviceID = $self->getServiceID( $serviceName ) ||
                    $RPS::Import::ServiceMap::SERVICE_ALIASES{ lc $serviceName };

    return $serviceID if( $serviceID );
    $self->fail("Unknown service '$serviceName'");
}

sub productType { RPS::File::Sale::TYPE_TRACK; }

sub formatType { RPS::File::Sale::FORMAT_STREAM; }

sub mediaType { return RPS::DB::Item::MediaType::kMediaTypeAudio; }

###
1;# Play nicely.
###
