package RPS::Import::Secretly::v10;

use strict;
use warnings;

use lib '/app/tools/rps/lib';
use base 'RPS::Import::Secretly::v8';

sub _fieldMap {
    {
        labelName       => 'Y',
        countryCode     => 'I',
        dateBegin       => 'V',
        productType     => 'F',
        clientProductID => 'C',
        artistName      => 'G',
        upc             => 'D',
        albumName       => 'H',
        retailPrice     => 'N',
        sales           => 'M',
        salesRevenue    => 'T',
        totalRevenue    => 'T',
    };
}

sub serviceID  { Client::Service::DSP_SECRETLY }

sub productType {
    my $self = shift;

    my $type = $self->_getByFieldName('productType') || "";

    $self->fail("Cannot determine product type from '$type' ") if ( $type =~ /t-shirt/i );

    if ( $type =~ /LP|12"(?: EP)?|10"|7"/i ) {
        return RPS::File::Sale::TYPE_LP;
    } elsif ( $type =~ /(2|2x|3x)CD$/i ) {
        return RPS::File::Sale::TYPE_DBL_CD;
    } elsif ( $type =~ /(?:5x)?CD\+DVD$/i ) {
        return RPS::File::Sale::TYPE_DVD_CD_SET;
    } elsif ( $type =~ /7"$/i ) {
        return RPS::File::Sale::TYPE_LP5;
    } elsif ( $type =~ /CD(?:EP)?$/i
        || $type =~ /USB Flash Drive/i ) {
        return RPS::File::Sale::TYPE_CD;
    } elsif ( $type =~ /CDS$/i ) {
        return RPS::File::Sale::TYPE_CD_SIN;
    } elsif ( $type =~ /DVD$/i ) {
        return RPS::File::Sale::TYPE_DVD;
    } elsif ( $type =~ /cassette/i ) {
        return RPS::File::Sale::TYPE_CASS;
    } else {
        return RPS::File::Sale::TYPE_CD;
    }
}

1;
