package RPS::Import::Bandcamp::v37;

use strict;
use warnings;

use parent 'RPS::Import::Bandcamp::v34';

sub _fieldMapExtended {
    {
        mixed => {
            option1 => {
                countryCode     => 'AO',
                dateBegin       => 'A',
                dateEnd         => 'A',
                formatType      => 'AE',
                clientProductID => 'AI',
                artistName      => 'E',
                upc             => 'AJ',
                albumName       => 'D',
                isrc            => 'AK',
                trackName       => 'D',
                units           => 'H',
                currencyCode    => 'F',
                retailPrice     => 'G',
                totalRevenue    => 'AD',
                price           => 'AD',
                mediaType       => 'C',
            },
        },
    };
}

sub _unverifiedFieldMapExtended {
    {
        mixed => {
            option1 => {
                _productTypePhys => 'AE',
                _productTypeDig  => 'C',
                _netUnits        => 'H',
                _ship_from       => 'P',
            },
        }
    };
}

sub _headerIdentifierExtended {
    {
        mixed => {
            option1 => {
                upc => 'upc',
            },
        },
    };
}

sub price     { abs( shift->_getByFieldName('price') || 0 ) }
sub unitPrice { abs shift->SUPER::unitPrice }
sub units {
    my $self = shift;

    my $units = $self->_getByFieldName('units') || 0;
    my $price = $self->_getByFieldName('price') || 0;

    if ( $price > 0 ) {
        $units = $units ? abs($units) : 1;
    } elsif ( $price < 0 ) {
       $units = $units ? -1 * abs($units) : -1;
    }

    return $units;
}


1;
