TT#160300 API: header[rules,ruleactions,ruleconditions] - subscriber_id filter

Add subscriber_id(billing) filter parameter for GET endpoints:
   - headerrules
   - headerruleactions
   - headerruleconditions

Change-Id: Ief568ddbdc3641be5e57411191f5716ab175acb9
mr10.4
Oleksandr Duts 4 years ago
parent 84a33c96f2
commit a4d3585430

@ -21,6 +21,10 @@ sub api_description {
sub query_params {
return [
{
param => 'subscriber_id',
description => 'Filter for header rule sets of a specific subscriber',
}
];
}

@ -21,6 +21,10 @@ sub api_description {
sub query_params {
return [
{
param => 'subscriber_id',
description => 'Filter for header rule sets of a specific subscriber',
}
];
}

@ -36,6 +36,10 @@ sub query_params {
description => 'Filter for rules belonging to a specific header rule set.',
query_type => 'string_eq',
},
{
param => 'subscriber_id',
description => 'Filter for header rule sets of a specific subscriber',
}
];
}

@ -21,17 +21,28 @@ sub config_allowed_roles {
sub _item_rs {
my ($self, $c, $type) = @_;
my $item_rs;
if ($c->user->roles eq "admin") {
$item_rs = $c->model('DB')->resultset('voip_header_rule_actions');
} elsif ($c->user->roles eq "reseller") {
my $item_rs = $c->model('DB')->resultset('voip_header_rule_actions')->search_rs(undef, {
join => { rule => 'ruleset' }
});
if ($c->user->roles eq "reseller") {
$item_rs = $c->model('DB')->resultset('voip_header_rule_actions')->search_rs({
'ruleset.reseller_id' => $c->user->reseller_id,
},{
join => { rule => 'ruleset' },
});
'ruleset.reseller_id' => $c->user->reseller_id,
});
}
if (my $subscriber_id = $c->req->param('subscriber_id')) {
my $prov_subscriber_id = NGCP::Panel::Utils::Subscriber::billing_to_prov_subscriber_id(
c => $c, subscriber_id => $subscriber_id
);
$item_rs = $item_rs->search_rs(
{ 'ruleset.subscriber_id' => $prov_subscriber_id });
} else {
$item_rs = $item_rs->search_rs(
{ 'ruleset.subscriber_id' => undef });
}
return $item_rs;
}

@ -22,17 +22,28 @@ sub config_allowed_roles {
sub _item_rs {
my ($self, $c, $type) = @_;
my $item_rs;
if ($c->user->roles eq "admin") {
$item_rs = $c->model('DB')->resultset('voip_header_rule_conditions');
} elsif ($c->user->roles eq "reseller") {
my $item_rs = $c->model('DB')->resultset('voip_header_rule_conditions')->search_rs(undef, {
join => { rule => 'ruleset' }
});
if ($c->user->roles eq "reseller") {
$item_rs = $c->model('DB')->resultset('voip_header_rule_conditions')->search_rs({
'ruleset.reseller_id' => $c->user->reseller_id,
},{
join => { rule => 'ruleset' },
});
'ruleset.reseller_id' => $c->user->reseller_id,
});
}
if (my $subscriber_id = $c->req->param('subscriber_id')) {
my $prov_subscriber_id = NGCP::Panel::Utils::Subscriber::billing_to_prov_subscriber_id(
c => $c, subscriber_id => $subscriber_id
);
$item_rs = $item_rs->search_rs(
{ 'ruleset.subscriber_id' => $prov_subscriber_id });
} else {
$item_rs = $item_rs->search_rs(
{ 'ruleset.subscriber_id' => undef });
}
return $item_rs;
}

@ -22,17 +22,29 @@ sub config_allowed_roles {
sub _item_rs {
my ($self, $c, $type) = @_;
my $item_rs;
if ($c->user->roles eq "admin") {
$item_rs = $c->model('DB')->resultset('voip_header_rules');
} elsif ($c->user->roles eq "reseller") {
my $item_rs = $c->model('DB')->resultset('voip_header_rules')->search_rs(undef, {
join => 'ruleset'
});
if ($c->user->roles eq "reseller") {
$item_rs = $c->model('DB')->resultset('voip_header_rules')->search_rs({
'ruleset.reseller_id' => $c->user->reseller_id,
},{
join => 'ruleset'
});
'ruleset.reseller_id' => $c->user->reseller_id,
});
}
if (my $subscriber_id = $c->req->param('subscriber_id')) {
my $prov_subscriber_id = NGCP::Panel::Utils::Subscriber::billing_to_prov_subscriber_id(
c => $c, subscriber_id => $subscriber_id
);
$item_rs = $item_rs->search_rs(
{ 'ruleset.subscriber_id' => $prov_subscriber_id });
} else {
$item_rs = $item_rs->search_rs(
{ 'ruleset.subscriber_id' => undef });
}
return $item_rs;
}

Loading…
Cancel
Save