#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------
package RPS::DB::Item::ArtistRole;
use strict;
use warnings;

use lib '/app/tools/rps/lib';

use lib '/app/tools/common/lib';
use Common::DB::Item;
use Common::RSApp;
use base 'Common::DB::Item';

use constant kTable => 'artist_role';
use constant kDB    => Common::DB::Item::kCommonDB();

sub LookupWithMap {
    my $class = shift;
    my %args  = @_;

    my $name      = $args{service_role};
    my $serviceID = $args{service_id};

    my $dbo = Common::RSApp::GetCommonDB();
    my $sql =
        "SELECT artist_role.*, service_role, service_id " . "FROM "
      . kTable . " "
      . " LEFT JOIN artist_role_service_map "
      . " ON ( artist_role.artist_role_id = artist_role_service_map.artist_role_id AND "
      . "service_id = "
      . $dbo->DBQuote($serviceID) . " ) "
      . "WHERE artist_role.role = "
      . $dbo->DBQuote($name);

    Common::Log::Debug("QUERY: $sql");
    my $list = $class->SUPER::GetAll($sql);

    return $list->hasNext ? $list->next : undef;
}

1;
