package RPS::Import::Caroline::v30;

use strict;
use warnings;

use lib '/app/tools/rps/lib';
use parent 'RPS::Import::Caroline::v27';


sub _fieldMap {
    my $self = shift;

    my %fieldMap = (
        30 => {
            labelName    => 'W',
            countryCode  => 'G',
            dateBegin    => 'D',
            dateEnd      => 'E',
            productType  => 'N',
            formatType   => 'Q',
            artistName   => 'P',
            upc          => 'J',
            albumName    => 'K',
            isrc         => 'J',
            trackName    => 'K',
            units        => 'S',
            currencyCode => 'Z',
            price        => 'Z',
        },
    );

    return $fieldMap{ $self->version };
}

sub serviceID { Client::Service::DSP_CAROLINE }

sub upc {
    my $self = shift;

    return unless $self->productType eq RPS::File::Sale::TYPE_ALBUM;

    my $upc = $self->_getByFieldName('upc') || '';
    $upc =~ s/^10(.*)$/$1/;

    return $upc;
}

sub albumNmae {
    my $self = shift;

    return unless $self->productType eq RPS::File::Sale::TYPE_ALBUM;

    my $name = $self->_getByFieldName('albumNmae') || '';
    return $name;
}

sub isrc {
    my $self = shift;

    return unless $self->productType eq RPS::File::Sale::TYPE_TRACK;

    my $isrc = $self->_getByFieldName('isrc') || '';
    $isrc =~ s/^5(.*)$/$1/;

    return $isrc;
}

sub trackName {
    my $self = shift;

    return unless $self->productType eq RPS::File::Sale::TYPE_TRACK;

    my $name = $self->_getByFieldName('trackName') || '';
    return $name;
}

sub _mapFaceCompatibleVersions { 27, 28, 29, 30 }


1;