diff --git a/lib/NGCP/Panel/Controller/API/CustomerPreferenceDefs.pm b/lib/NGCP/Panel/Controller/API/CustomerPreferenceDefs.pm index c934457628..3cb06783d1 100644 --- a/lib/NGCP/Panel/Controller/API/CustomerPreferenceDefs.pm +++ b/lib/NGCP/Panel/Controller/API/CustomerPreferenceDefs.pm @@ -1,88 +1,19 @@ package NGCP::Panel::Controller::API::CustomerPreferenceDefs; -use NGCP::Panel::Utils::Generic qw(:all); use Sipwise::Base; -use boolean qw(true); -use Data::HAL qw(); -use Data::HAL::Link qw(); -use HTTP::Headers qw(); -use HTTP::Status qw(:constants); +use parent qw/NGCP::Panel::Role::EntityPreferenceDefs NGCP::Panel::Role::API/; use NGCP::Panel::Utils::Preferences; -use JSON::Types qw(); -require Catalyst::ActionRole::ACL; -require Catalyst::ActionRole::CheckTrailingSlash; -require NGCP::Panel::Role::HTTPMethods; -require Catalyst::ActionRole::RequireSSL; sub allowed_methods{ return [qw/GET OPTIONS HEAD/]; } -use parent qw/NGCP::Panel::Role::Entities/; - -sub resource_name{ - return 'customerpreferencedefs'; -} -sub dispatch_path{ - return '/api/customerpreferencedefs/'; -} -sub relation{ - return 'http://purl.org/sipwise/ngcp-api/#rel-customerpreferencedefs'; -} - -__PACKAGE__->config( - action => { - map { $_ => { - ACLDetachTo => '/api/root/invalid_user', - AllowedRole => [qw/admin reseller/], - Args => 0, - Does => [qw(ACL CheckTrailingSlash RequireSSL)], - Method => $_, - Path => __PACKAGE__->dispatch_path, - } } @{ __PACKAGE__->allowed_methods } - }, -); - - - - - -sub GET :Allow { - my ($self, $c) = @_; - { - my @links; - push @links, - Data::HAL::Link->new( - relation => 'curies', - href => 'http://purl.org/sipwise/ngcp-api/#rel-{rel}', - name => 'ngcp', - templated => true, - ), - Data::HAL::Link->new(relation => 'profile', href => 'http://purl.org/sipwise/ngcp-api/'), - Data::HAL::Link->new(relation => 'self', href => sprintf('%s', $self->dispatch_path)); - - my $hal = Data::HAL->new( - links => [@links], - ); - my $resource = NGCP::Panel::Utils::Preferences::api_preferences_defs( c => $c, preferences_group => 'contract_pref' ); - $hal->resource($resource); - - my $response = HTTP::Response->new(HTTP_OK, undef, - HTTP::Headers->new($hal->http_headers(skip_links => 1)), $hal->as_json); - $c->response->headers($response->headers); - $c->response->body($response->content); - return; - } - return; -} - - - - - - +__PACKAGE__->set_config({ + preferences_group => 'contract_pref', + allowed_roles => [qw/admin reseller/], +}); 1; diff --git a/lib/NGCP/Panel/Controller/API/DomainPreferenceDefs.pm b/lib/NGCP/Panel/Controller/API/DomainPreferenceDefs.pm index 2f51217d8c..81e13a5dfd 100644 --- a/lib/NGCP/Panel/Controller/API/DomainPreferenceDefs.pm +++ b/lib/NGCP/Panel/Controller/API/DomainPreferenceDefs.pm @@ -1,88 +1,19 @@ package NGCP::Panel::Controller::API::DomainPreferenceDefs; -use NGCP::Panel::Utils::Generic qw(:all); use Sipwise::Base; -use boolean qw(true); -use Data::HAL qw(); -use Data::HAL::Link qw(); -use HTTP::Headers qw(); -use HTTP::Status qw(:constants); +use parent qw/NGCP::Panel::Role::EntityPreferenceDefs NGCP::Panel::Role::API/; use NGCP::Panel::Utils::Preferences; -use JSON::Types qw(); -require Catalyst::ActionRole::ACL; -require Catalyst::ActionRole::CheckTrailingSlash; -require NGCP::Panel::Role::HTTPMethods; -require Catalyst::ActionRole::RequireSSL; sub allowed_methods{ return [qw/GET OPTIONS HEAD/]; } -use parent qw/NGCP::Panel::Role::Entities/; - -sub resource_name{ - return 'domainpreferencedefs'; -} -sub dispatch_path{ - return '/api/domainpreferencedefs/'; -} -sub relation{ - return 'http://purl.org/sipwise/ngcp-api/#rel-domainpreferencedefs'; -} - -__PACKAGE__->config( - action => { - map { $_ => { - ACLDetachTo => '/api/root/invalid_user', - AllowedRole => [qw/admin reseller/], - Args => 0, - Does => [qw(ACL CheckTrailingSlash RequireSSL)], - Method => $_, - Path => __PACKAGE__->dispatch_path, - } } @{ __PACKAGE__->allowed_methods } - }, -); - - - - - -sub GET :Allow { - my ($self, $c) = @_; - { - my @links; - push @links, - Data::HAL::Link->new( - relation => 'curies', - href => 'http://purl.org/sipwise/ngcp-api/#rel-{rel}', - name => 'ngcp', - templated => true, - ), - Data::HAL::Link->new(relation => 'profile', href => 'http://purl.org/sipwise/ngcp-api/'), - Data::HAL::Link->new(relation => 'self', href => sprintf('%s', $self->dispatch_path)); - - my $hal = Data::HAL->new( - links => [@links], - ); - my $resource = NGCP::Panel::Utils::Preferences::api_preferences_defs( c => $c, preferences_group => 'dom_pref' ); - $hal->resource($resource); - - my $response = HTTP::Response->new(HTTP_OK, undef, - HTTP::Headers->new($hal->http_headers(skip_links => 1)), $hal->as_json); - $c->response->headers($response->headers); - $c->response->body($response->content); - return; - } - return; -} - - - - - - +__PACKAGE__->set_config({ + preferences_group => 'dom_pref', + allowed_roles => [qw/admin reseller/], +}); 1; diff --git a/lib/NGCP/Panel/Controller/API/PbxDevicePreferenceDefs.pm b/lib/NGCP/Panel/Controller/API/PbxDevicePreferenceDefs.pm index b4a0f01b9f..04660a03e4 100644 --- a/lib/NGCP/Panel/Controller/API/PbxDevicePreferenceDefs.pm +++ b/lib/NGCP/Panel/Controller/API/PbxDevicePreferenceDefs.pm @@ -1,88 +1,19 @@ package NGCP::Panel::Controller::API::PbxDevicePreferenceDefs; -use NGCP::Panel::Utils::Generic qw(:all); use Sipwise::Base; -use boolean qw(true); -use Data::HAL qw(); -use Data::HAL::Link qw(); -use HTTP::Headers qw(); -use HTTP::Status qw(:constants); +use parent qw/NGCP::Panel::Role::EntityPreferenceDefs NGCP::Panel::Role::API/; use NGCP::Panel::Utils::Preferences; -use JSON::Types qw(); -require Catalyst::ActionRole::ACL; -require Catalyst::ActionRole::CheckTrailingSlash; -require NGCP::Panel::Role::HTTPMethods; -require Catalyst::ActionRole::RequireSSL; sub allowed_methods{ return [qw/GET OPTIONS HEAD/]; } -use parent qw/NGCP::Panel::Role::Entities/; - -sub resource_name{ - return 'pbxdevicepreferencedefs'; -} -sub dispatch_path{ - return '/api/pbxdevicepreferencedefs/'; -} -sub relation{ - return 'http://purl.org/sipwise/ngcp-api/#rel-pbxdevicepreferencedefs'; -} - -__PACKAGE__->config( - action => { - map { $_ => { - ACLDetachTo => '/api/root/invalid_user', - AllowedRole => [qw/admin reseller/], - Args => 0, - Does => [qw(ACL CheckTrailingSlash RequireSSL)], - Method => $_, - Path => __PACKAGE__->dispatch_path, - } } @{ __PACKAGE__->allowed_methods } - }, -); - - - - - -sub GET :Allow { - my ($self, $c) = @_; - { - my @links; - push @links, - Data::HAL::Link->new( - relation => 'curies', - href => 'http://purl.org/sipwise/ngcp-api/#rel-{rel}', - name => 'ngcp', - templated => true, - ), - Data::HAL::Link->new(relation => 'profile', href => 'http://purl.org/sipwise/ngcp-api/'), - Data::HAL::Link->new(relation => 'self', href => sprintf('%s', $self->dispatch_path)); - - my $hal = Data::HAL->new( - links => [@links], - ); - my $resource = NGCP::Panel::Utils::Preferences::api_preferences_defs( c => $c, preferences_group => 'dev_pref' ); - $hal->resource($resource); - - my $response = HTTP::Response->new(HTTP_OK, undef, - HTTP::Headers->new($hal->http_headers(skip_links => 1)), $hal->as_json); - $c->response->headers($response->headers); - $c->response->body($response->content); - return; - } - return; -} - - - - - - +__PACKAGE__->set_config({ + preferences_group => 'dev_pref', + allowed_roles => [qw/admin reseller/], +}); 1; diff --git a/lib/NGCP/Panel/Controller/API/PbxDeviceProfilePreferenceDefs.pm b/lib/NGCP/Panel/Controller/API/PbxDeviceProfilePreferenceDefs.pm index 57e407f4c7..a35899b5f0 100644 --- a/lib/NGCP/Panel/Controller/API/PbxDeviceProfilePreferenceDefs.pm +++ b/lib/NGCP/Panel/Controller/API/PbxDeviceProfilePreferenceDefs.pm @@ -1,88 +1,19 @@ package NGCP::Panel::Controller::API::PbxDeviceProfilePreferenceDefs; -use NGCP::Panel::Utils::Generic qw(:all); use Sipwise::Base; -use boolean qw(true); -use Data::HAL qw(); -use Data::HAL::Link qw(); -use HTTP::Headers qw(); -use HTTP::Status qw(:constants); +use parent qw/NGCP::Panel::Role::EntityPreferenceDefs NGCP::Panel::Role::API/; use NGCP::Panel::Utils::Preferences; -use JSON::Types qw(); -require Catalyst::ActionRole::ACL; -require Catalyst::ActionRole::CheckTrailingSlash; -require NGCP::Panel::Role::HTTPMethods; -require Catalyst::ActionRole::RequireSSL; sub allowed_methods{ return [qw/GET OPTIONS HEAD/]; } -use parent qw/NGCP::Panel::Role::Entities/; - -sub resource_name{ - return 'pbxdeviceprofilepreferencedefs'; -} -sub dispatch_path{ - return '/api/pbxdeviceprofilepreferencedefs/'; -} -sub relation{ - return 'http://purl.org/sipwise/ngcp-api/#rel-pbxdeviceprofilepreferencedefs'; -} - -__PACKAGE__->config( - action => { - map { $_ => { - ACLDetachTo => '/api/root/invalid_user', - AllowedRole => [qw/admin reseller/], - Args => 0, - Does => [qw(ACL CheckTrailingSlash RequireSSL)], - Method => $_, - Path => __PACKAGE__->dispatch_path, - } } @{ __PACKAGE__->allowed_methods } - }, -); - - - - - -sub GET :Allow { - my ($self, $c) = @_; - { - my @links; - push @links, - Data::HAL::Link->new( - relation => 'curies', - href => 'http://purl.org/sipwise/ngcp-api/#rel-{rel}', - name => 'ngcp', - templated => true, - ), - Data::HAL::Link->new(relation => 'profile', href => 'http://purl.org/sipwise/ngcp-api/'), - Data::HAL::Link->new(relation => 'self', href => sprintf('%s', $self->dispatch_path)); - - my $hal = Data::HAL->new( - links => [@links], - ); - my $resource = NGCP::Panel::Utils::Preferences::api_preferences_defs( c => $c, preferences_group => 'dev_pref' ); - $hal->resource($resource); - - my $response = HTTP::Response->new(HTTP_OK, undef, - HTTP::Headers->new($hal->http_headers(skip_links => 1)), $hal->as_json); - $c->response->headers($response->headers); - $c->response->body($response->content); - return; - } - return; -} - - - - - - +__PACKAGE__->set_config({ + preferences_group => 'devprof_pref', + allowed_roles => [qw/admin reseller/], +}); 1; diff --git a/lib/NGCP/Panel/Controller/API/PeeringServerPreferenceDefs.pm b/lib/NGCP/Panel/Controller/API/PeeringServerPreferenceDefs.pm index 49b9308e87..c23b0fa34c 100644 --- a/lib/NGCP/Panel/Controller/API/PeeringServerPreferenceDefs.pm +++ b/lib/NGCP/Panel/Controller/API/PeeringServerPreferenceDefs.pm @@ -1,88 +1,19 @@ package NGCP::Panel::Controller::API::PeeringServerPreferenceDefs; -use NGCP::Panel::Utils::Generic qw(:all); use Sipwise::Base; -use boolean qw(true); -use Data::HAL qw(); -use Data::HAL::Link qw(); -use HTTP::Headers qw(); -use HTTP::Status qw(:constants); +use parent qw/NGCP::Panel::Role::EntityPreferenceDefs NGCP::Panel::Role::API/; use NGCP::Panel::Utils::Preferences; -use JSON::Types qw(); -require Catalyst::ActionRole::ACL; -require Catalyst::ActionRole::CheckTrailingSlash; -require NGCP::Panel::Role::HTTPMethods; -require Catalyst::ActionRole::RequireSSL; sub allowed_methods{ return [qw/GET OPTIONS HEAD/]; } -use parent qw/NGCP::Panel::Role::Entities/; - -sub resource_name{ - return 'peeringserverpreferencedefs'; -} -sub dispatch_path{ - return '/api/peeringserverpreferencedefs/'; -} -sub relation{ - return 'http://purl.org/sipwise/ngcp-api/#rel-peeringserverpreferencedefs'; -} - -__PACKAGE__->config( - action => { - map { $_ => { - ACLDetachTo => '/api/root/invalid_user', - AllowedRole => [qw/admin/], - Args => 0, - Does => [qw(ACL CheckTrailingSlash RequireSSL)], - Method => $_, - Path => __PACKAGE__->dispatch_path, - } } @{ __PACKAGE__->allowed_methods } - }, -); - - - - - -sub GET :Allow { - my ($self, $c) = @_; - { - my @links; - push @links, - Data::HAL::Link->new( - relation => 'curies', - href => 'http://purl.org/sipwise/ngcp-api/#rel-{rel}', - name => 'ngcp', - templated => true, - ), - Data::HAL::Link->new(relation => 'profile', href => 'http://purl.org/sipwise/ngcp-api/'), - Data::HAL::Link->new(relation => 'self', href => sprintf('%s', $self->dispatch_path)); - - my $hal = Data::HAL->new( - links => [@links], - ); - my $resource = NGCP::Panel::Utils::Preferences::api_preferences_defs( c => $c, preferences_group => 'peer_pref' ); - $hal->resource($resource); - - my $response = HTTP::Response->new(HTTP_OK, undef, - HTTP::Headers->new($hal->http_headers(skip_links => 1)), $hal->as_json); - $c->response->headers($response->headers); - $c->response->body($response->content); - return; - } - return; -} - - - - - - +__PACKAGE__->set_config({ + preferences_group => 'peer_pref', + allowed_roles => [qw/admin/], +}); 1; diff --git a/lib/NGCP/Panel/Controller/API/ProfilePreferenceDefs.pm b/lib/NGCP/Panel/Controller/API/ProfilePreferenceDefs.pm index cb93244f31..4ea4fb6eb2 100644 --- a/lib/NGCP/Panel/Controller/API/ProfilePreferenceDefs.pm +++ b/lib/NGCP/Panel/Controller/API/ProfilePreferenceDefs.pm @@ -1,88 +1,19 @@ package NGCP::Panel::Controller::API::ProfilePreferenceDefs; -use NGCP::Panel::Utils::Generic qw(:all); use Sipwise::Base; -use boolean qw(true); -use Data::HAL qw(); -use Data::HAL::Link qw(); -use HTTP::Headers qw(); -use HTTP::Status qw(:constants); +use parent qw/NGCP::Panel::Role::EntityPreferenceDefs NGCP::Panel::Role::API/; use NGCP::Panel::Utils::Preferences; -use JSON::Types qw(); -require Catalyst::ActionRole::ACL; -require Catalyst::ActionRole::CheckTrailingSlash; -require NGCP::Panel::Role::HTTPMethods; -require Catalyst::ActionRole::RequireSSL; sub allowed_methods{ return [qw/GET OPTIONS HEAD/]; } -use parent qw/NGCP::Panel::Role::Entities/; - -sub resource_name{ - return 'profilepreferencedefs'; -} -sub dispatch_path{ - return '/api/profilepreferencedefs/'; -} -sub relation{ - return 'http://purl.org/sipwise/ngcp-api/#rel-profilepreferencedefs'; -} - -__PACKAGE__->config( - action => { - map { $_ => { - ACLDetachTo => '/api/root/invalid_user', - AllowedRole => [qw/admin reseller/], - Args => 0, - Does => [qw(ACL CheckTrailingSlash RequireSSL)], - Method => $_, - Path => __PACKAGE__->dispatch_path, - } } @{ __PACKAGE__->allowed_methods } - }, -); - - - - - -sub GET :Allow { - my ($self, $c) = @_; - { - my @links; - push @links, - Data::HAL::Link->new( - relation => 'curies', - href => 'http://purl.org/sipwise/ngcp-api/#rel-{rel}', - name => 'ngcp', - templated => true, - ), - Data::HAL::Link->new(relation => 'profile', href => 'http://purl.org/sipwise/ngcp-api/'), - Data::HAL::Link->new(relation => 'self', href => sprintf('%s', $self->dispatch_path)); - - my $hal = Data::HAL->new( - links => [@links], - ); - my $resource = NGCP::Panel::Utils::Preferences::api_preferences_defs( c => $c, preferences_group => 'prof_pref' ); - $hal->resource($resource); - - my $response = HTTP::Response->new(HTTP_OK, undef, - HTTP::Headers->new($hal->http_headers(skip_links => 1)), $hal->as_json); - $c->response->headers($response->headers); - $c->response->body($response->content); - return; - } - return; -} - - - - - - +__PACKAGE__->set_config({ + preferences_group => 'prof_pref', + allowed_roles => [qw/admin reseller/], +}); 1; diff --git a/lib/NGCP/Panel/Controller/API/SubscriberPreferenceDefs.pm b/lib/NGCP/Panel/Controller/API/SubscriberPreferenceDefs.pm index 05fbaeda07..b37fe8427b 100644 --- a/lib/NGCP/Panel/Controller/API/SubscriberPreferenceDefs.pm +++ b/lib/NGCP/Panel/Controller/API/SubscriberPreferenceDefs.pm @@ -1,80 +1,19 @@ package NGCP::Panel::Controller::API::SubscriberPreferenceDefs; -use NGCP::Panel::Utils::Generic qw(:all); use Sipwise::Base; -use boolean qw(true); -use Data::HAL qw(); -use Data::HAL::Link qw(); -use HTTP::Headers qw(); -use HTTP::Status qw(:constants); +use parent qw/NGCP::Panel::Role::EntityPreferenceDefs NGCP::Panel::Role::API/; use NGCP::Panel::Utils::Preferences; -use JSON::Types qw(); -require Catalyst::ActionRole::ACL; -require Catalyst::ActionRole::CheckTrailingSlash; -require NGCP::Panel::Role::HTTPMethods; -require Catalyst::ActionRole::RequireSSL; sub allowed_methods{ return [qw/GET OPTIONS HEAD/]; } -use parent qw/NGCP::Panel::Role::Entities/; - -sub resource_name{ - return 'subscriberpreferencedefs'; -} -sub dispatch_path{ - return '/api/subscriberpreferencedefs/'; -} -sub relation{ - return 'http://purl.org/sipwise/ngcp-api/#rel-subscriberpreferencedefs'; -} - -__PACKAGE__->config( - action => { - map { $_ => { - ACLDetachTo => '/api/root/invalid_user', - AllowedRole => [qw/admin reseller subscriberadmin subscriber/], - Args => 0, - Does => [qw(ACL CheckTrailingSlash RequireSSL)], - Method => $_, - Path => __PACKAGE__->dispatch_path, - } } @{ __PACKAGE__->allowed_methods } - }, -); - - - -sub GET :Allow { - my ($self, $c) = @_; - { - my @links; - push @links, - Data::HAL::Link->new( - relation => 'curies', - href => 'http://purl.org/sipwise/ngcp-api/#rel-{rel}', - name => 'ngcp', - templated => true, - ), - Data::HAL::Link->new(relation => 'profile', href => 'http://purl.org/sipwise/ngcp-api/'), - Data::HAL::Link->new(relation => 'self', href => sprintf('%s', $self->dispatch_path)); - - my $hal = Data::HAL->new( - links => [@links], - ); - my $resource = NGCP::Panel::Utils::Preferences::api_preferences_defs( c => $c, preferences_group => 'usr_pref' ); - $hal->resource($resource); - - my $response = HTTP::Response->new(HTTP_OK, undef, - HTTP::Headers->new($hal->http_headers(skip_links => 1)), $hal->as_json); - $c->response->headers($response->headers); - $c->response->body($response->content); - return; - } - return; -} +__PACKAGE__->set_config({ + preferences_group => 'usr_pref', + allowed_roles => [qw/admin reseller subscriberadmin subscriber/], +}); 1;