From 0d5f4eef4bf0ee412a69157fc98291633ff10636 Mon Sep 17 00:00:00 2001 From: Rene Krenn Date: Fri, 27 Aug 2021 11:18:08 +0200 Subject: [PATCH] TT#138400 provisioning.voip_subscribers.findby_domain_usernames Change-Id: Ibd88950516ac86d2fb966636f40041f5e75e3758 (cherry picked from commit e2f6b7477921ad48bcfbfb6280d49a34b6e146b8) --- .../Trunk/provisioning/voip_subscribers.pm | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib/NGCP/BulkProcessor/Dao/Trunk/provisioning/voip_subscribers.pm b/lib/NGCP/BulkProcessor/Dao/Trunk/provisioning/voip_subscribers.pm index dc99770..fd85b38 100644 --- a/lib/NGCP/BulkProcessor/Dao/Trunk/provisioning/voip_subscribers.pm +++ b/lib/NGCP/BulkProcessor/Dao/Trunk/provisioning/voip_subscribers.pm @@ -30,6 +30,7 @@ our @EXPORT_OK = qw( findby_uuid findby_id + findby_domain_usernames ); my $tablename = 'voip_subscribers'; @@ -72,6 +73,27 @@ sub new { } +sub findby_domain_usernames { + + my ($xa_db,$domain,$usernames,$load_recursive) = @_; + + check_table(); + my $db = &$get_db(); + $xa_db //= $db; + my $table = $db->tableidentifier($tablename); + + my $stmt = 'SELECT s.* FROM ' . $table . ' s join provisioning.domains d on s.domain_id = d.id WHERE d.domain = ?'; + my @params = ($domain); + if (defined $usernames and 'ARRAY' eq ref $usernames) { + $stmt .= ' AND ' . $db->columnidentifier('username') . ' IN (' . substr(',?' x scalar @$usernames,1) . ')'; + push(@params,@$usernames); + } + my $rows = $xa_db->db_get_all_arrayref($stmt,@params); + + return buildrecords_fromrows($rows,$load_recursive); + +} + sub findby_uuid { my ($xa_db,$uuid,$load_recursive) = @_;