package RPS::Import::GoogleMusic::v1;

use strict;

use lib '/app/tools/rps/lib';
use RPS::File::Sale;
use base 'RPS::Import::Importer';

#public methods

sub _fieldMap {
    {
        dateBegin   => 'A',
        dateEnd     => 'A',
        countryCode => 'B',
        type        => 'D',    # required in order to use _productTypes
        upc         => 'G',
        isrc        => 'H',
        artistName  => 'I',
        trackName   => 'J',
        albumName   => 'K',
        units       => 'E',
        returns     => 'F',
        labelName   => 'M',
        price       => 'R',
    }

}

sub _productTypes {
    {
        'a' => {
            productType => RPS::File::Sale::TYPE_ALBUM,
            formatType  => RPS::File::Sale::FORMAT_DOWNLOAD,
            mediaType   => RPS::DB::Item::MediaType::kMediaTypeAudio,
        },
        't' => {
            productType => RPS::File::Sale::TYPE_TRACK,
            formatType  => RPS::File::Sale::FORMAT_DOWNLOAD,
            mediaType   => RPS::DB::Item::MediaType::kMediaTypeAudio,
        },
    };
}

sub _headerIdentifier { ( dateBegin => 'Sale_Date' ) }

sub units {
    my $self    = shift;
    my $units   = $self->_getByFieldName('units') || 0;
    my $returns = $self->_getByFieldName('returns') || 0;

    my $totalUnits = $units - ( abs $returns );
    return $totalUnits;
}

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