package NGCP::Panel::Controller::API::ActiveSubscriberPreferences; use Sipwise::Base; use parent qw/NGCP::Panel::Role::Entities NGCP::Panel::Role::API::Preferences/; __PACKAGE__->set_config({ allowed_roles => [qw/admin reseller subscriberadmin/], }); sub allowed_methods{ return [qw/GET OPTIONS HEAD/]; } sub api_description { return 'Specifies certain properties (preferences) for a Subscriber. The full list of properties can be obtained via SubscriberPreferenceDefs.'; }; sub container_resource_type{ return 'active'; } sub resource_name{ return 'activesubscriberpreferences'; } sub query_params { return [ { param => 'reseller_id', description => 'Filter for subscribers of customers belonging to a specific reseller', query => { first => sub { my $q = shift; { 'contact.reseller_id' => $q }; }, second => sub { { join => { 'contract' => 'contact' } }; }, }, }, { param => 'contact_id', description => 'Filter for subscribers of contracts with a specific contact id', query => { first => sub { my $q = shift; { 'contract.contact_id' => $q }; }, second => sub {}, }, }, { param => 'location_ip', description => 'Filter for contract preferences for a specific location', }, ]; } 1; # vim: set tabstop=4 expandtab: