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