TT#84260 - Add number batch processing on /api/applyrewrites

* Param 'number' is renamed to 'numbers'
	 * 'numbers' can be a single value like
	   it is currently used, or an array which
	   will result in all array elements having
	   the sub's rewriterule applied and returned
	   in the same order

Change-Id: Ic24179d2ecbec80cebd23e5af751df0ebbcc7141
changes/53/41353/2
Flaviu Mates 5 years ago
parent 08291b5652
commit e90c642d05

@ -77,13 +77,24 @@ sub POST :Allow {
last;
}
my $normalized;
my @result;
try {
$normalized = NGCP::Panel::Utils::Subscriber::apply_rewrite(
c => $c, subscriber => $subscriber,
number => $resource->{number}, direction => $resource->{direction},
);
if (ref $resource->{numbers} eq 'ARRAY') {
foreach my $number (@{$resource->{numbers}}) {
my $normalized = NGCP::Panel::Utils::Subscriber::apply_rewrite(
c => $c, subscriber => $subscriber,
number => $number, direction => $resource->{direction},
);
push @result, $normalized;
}
}
else {
my $normalized = NGCP::Panel::Utils::Subscriber::apply_rewrite(
c => $c, subscriber => $subscriber,
number => $resource->{numbers}, direction => $resource->{direction},
);
push @result, $normalized;
}
} catch($e) {
$c->log->error("failed to rewrite number: $e");
$self->error($c, HTTP_INTERNAL_SERVER_ERROR, "Failed to rewrite number.");
@ -92,10 +103,10 @@ sub POST :Allow {
$guard->commit;
my $res = '{ "result": "'.$normalized.'" }'."\n";
my $res = {result => scalar @result == 1 ? $result[0] : \@result};
$c->response->status(HTTP_OK);
$c->response->body($res);
$c->response->body(JSON::to_json($res));
}
return;
}

@ -21,8 +21,8 @@ has_field 'subscriber_id' => (
},
);
has_field 'number' => (
type => 'Text',
has_field 'numbers' => (
type => 'Compound',
label => 'User or number to rewrite',
required => 1,
element_attr => {

Loading…
Cancel
Save