package AppUser::DB::Item::AccessLevel;
use strict;
use warnings;
use lib '/app/tools/common/lib';
use Common::DB::Item;
use base 'Common::DB::Item';

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

use constant kRSAdmin                 => 1;
use constant kRSAccountRep            => 2;
use constant kAdmin                   => 3;
use constant kRoyalty                 => 4;
use constant kLabelReport             => 5;
use constant kMarketing               => 6;
use constant kViewOnly                => 7;
use constant kAdminCatalogView        => 8;
use constant kRSStandard              => 9;
use constant kStandard                => 10;
use constant kImprintView             => 11;
use constant kCatalogOnly             => 12;
use constant kPublisherView           => 13;
use constant kViewRevenueFileDownload => 14;

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

    my $sql = "SELECT * FROM " . kTable . " WHERE client_type_mask & $typeMask ORDER BY display_order";
    return $class->GetAll($sql);
}

1;
