package RPS::DB::Item::PublisherStatementRecipient;

use strict;
use warnings;

use lib '/app/tools/common/lib';
use Common::Util qw(escape_mysql_regexp escape_mysql_like);
use Common::DB::ItemCollection;
use Common::Assert;

use Common::DB::Item;
use base 'Common::DB::Item';

use constant kTable => 'publisher_statement_recipient';
use constant kDB    => Common::DB::Item::kClientDB();


sub GetByPublisherID {
    my ( $class, $publisherID ) = @_;

    my $dbo = Common::RSApp::GetClientDB();
    $publisherID = $dbo->DBQuote( $publisherID || 0 );

    my $sql = qq/
        SELECT *
        FROM publisher_statement_recipient
        WHERE publisher_id = $publisherID
        ORDER BY publisher_id
    /;

    return $class->SUPER::GetAll($sql);
}

sub GetAllOnline {
    my ($class) = @_;

    my $sql = "SELECT * FROM " . kTable . " ORDER BY name";

    return $class->SUPER::GetAll($sql);
}

sub GetAllUnconfirmed {
    my ($class) = @_;

    my $sql = qq/
        SELECT *
        FROM publisher_statement_recipient
        WHERE 1 = 1
            AND date_invited IS NOT NULL
            AND date_confirmed IS NULL
        ORDER BY name
    /;

    return $class->SUPER::GetAll($sql);
}


1;