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.
###
