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