package Support::GenreMap::Version1;

use strict;
use lib '/app/tools/common/lib';
use base 'Common::Translator::VersionWithHeader';

use lib '/app/tools/distribution/lib';
use Distribution::DB::Item::DistributionService;

sub _requiredHeaders {
    return {
        'genreid'     => 'genre_id',
        'rsgenrename' => 'rs_genre_name',
    };
}

# Rather than be static, this will parse the services table.
#
sub _optionalHeaders {

    my ($self) = @_;
    if ( !$self->{_cachedOptionalHeaders} ) {
        my %serviceMap;

        my $allServices = Distribution::DB::Item::DistributionService->GetAll();
        while ( my $service = $allServices->next() ) {
            my $id   = $service->service_id;
            my $name = $self->_cleanHeader( $service->service_name );
            $serviceMap{$name} = $id;
        }

        $self->{_cachedOptionalHeaders} = \%serviceMap;
    }

    return $self->{_cachedOptionalHeaders};

}

1;
