package Common::DB::Item::Client;

use strict;
use warnings;

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

use constant kTable => 'client';
use constant kDB    => Common::DB::Item::kCommonDB;

sub GetAllOfType {
    my ( $class, $typeMask ) = @_;

    my $sql = "SELECT * FROM " . kTable . " WHERE type_mask & $typeMask";
    return $class->SUPER::GetAll($sql);
}

sub GetOrchardClient {
    my ($class, %args) = @_;

    my $sql = "SELECT 1 AS oci FROM orchard_client WHERE client_id = $args{client_id}";
    my $collection = $class->SUPER::GetAll($sql);

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

1;
