|
|
|
|
@ -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) = @_;
|
|
|
|
|
|