From be7193e75b2ff06c58303ba6fa15f32ed3650120 Mon Sep 17 00:00:00 2001 From: Marco Capetta Date: Wed, 17 May 2023 16:55:15 +0200 Subject: [PATCH] MT#57469 Fix kamailio lcr reload on PATCH/PUT APIs When calling a PATCH or PUT API on a peering group or outbound rule the reload of the kamailio lcr module was triggered before the update of the database, thus the kamailio status was not updated. Change-Id: I59ed863c85219e62d6f5b5a2af80db8ef952844c --- lib/NGCP/Panel/Controller/API/PeeringGroupsItem.pm | 4 ++++ lib/NGCP/Panel/Controller/API/PeeringRulesItem.pm | 5 +++++ lib/NGCP/Panel/Role/API/PeeringGroups.pm | 1 - lib/NGCP/Panel/Role/API/PeeringRules.pm | 1 - 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/NGCP/Panel/Controller/API/PeeringGroupsItem.pm b/lib/NGCP/Panel/Controller/API/PeeringGroupsItem.pm index 25a98b46a2..dd698c2fa1 100644 --- a/lib/NGCP/Panel/Controller/API/PeeringGroupsItem.pm +++ b/lib/NGCP/Panel/Controller/API/PeeringGroupsItem.pm @@ -70,6 +70,8 @@ sub PATCH :Allow { $guard->commit; + NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c); + $self->return_representation($c, 'item' => $item, 'form' => $form, 'preference' => $preference ); } return; @@ -99,6 +101,8 @@ sub PUT :Allow { $guard->commit; + NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c); + $self->return_representation($c, 'item' => $item, 'form' => $form, 'preference' => $preference ); } return; diff --git a/lib/NGCP/Panel/Controller/API/PeeringRulesItem.pm b/lib/NGCP/Panel/Controller/API/PeeringRulesItem.pm index c8671fb157..38d9a9dfa1 100644 --- a/lib/NGCP/Panel/Controller/API/PeeringRulesItem.pm +++ b/lib/NGCP/Panel/Controller/API/PeeringRulesItem.pm @@ -81,6 +81,8 @@ sub PATCH :Allow { $guard->commit; + NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c); + $self->return_representation($c, 'item' => $item, 'form' => $form, 'preference' => $preference ); } return; @@ -108,6 +110,9 @@ sub PUT :Allow { last unless $item; $guard->commit; + + NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c); + $self->return_representation($c, 'item' => $item, 'form' => $form, 'preference' => $preference ); } return; diff --git a/lib/NGCP/Panel/Role/API/PeeringGroups.pm b/lib/NGCP/Panel/Role/API/PeeringGroups.pm index 03414af814..28c860635c 100644 --- a/lib/NGCP/Panel/Role/API/PeeringGroups.pm +++ b/lib/NGCP/Panel/Role/API/PeeringGroups.pm @@ -110,7 +110,6 @@ sub update_item { } $item->update($resource); - NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c); return $item; } diff --git a/lib/NGCP/Panel/Role/API/PeeringRules.pm b/lib/NGCP/Panel/Role/API/PeeringRules.pm index b2a752dd7d..fbd0490aa8 100644 --- a/lib/NGCP/Panel/Role/API/PeeringRules.pm +++ b/lib/NGCP/Panel/Role/API/PeeringRules.pm @@ -87,7 +87,6 @@ sub update_item { } $item->update($resource); - NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c); return $item; }