#------------------------------------------------------------
# Copyright (C) 2011 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------
package BookPub::DB::Item::SaleFeedService;

use strict;
use warnings;

use lib '/app/tools/common/lib';
use Common::Assert;

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

use constant kTable => 'sale_feed_service';
use constant kDB    => Common::DB::Item::kClientDB;

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

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

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

sub GetAllByServiceID {
    my $class = shift;
    my $serviceID = shift || die;

    my $sql = "SELECT * FROM " . kTable . " WHERE service_id = " . $class->quote($serviceID);

    Log->debug("QUERY: $sql");
    return $class->SUPER::GetAll($sql);
}

sub LookupBySaleFeedID {
    my $class = shift;
    my $saleFeedID = shift || die;

    my $sql =
        "SELECT * FROM "
      . kTable
      . " INNER JOIN sale_feed USING (sale_feed_service_id) "
      . " WHERE sale_feed_id = "
      . $class->quote($saleFeedID);

    Log->debug("QUERY: $sql");
    my $collection = $class->SUPER::GetAll($sql);
    return $collection->next();
}

1;
