From ced40f5defb195ade6785f99470ffff89bde60e3 Mon Sep 17 00:00:00 2001 From: Andreas Granig Date: Thu, 19 Sep 2019 13:34:50 +0200 Subject: [PATCH] TT#67210 Add reference to dbaliases for device id * To be used to assign a device id to a field device line Change-Id: I4f18ba38e8d8a847925543963676ec0e8d1274f8 --- .../Schema/Result/autoprov_field_device_lines.pm | 13 +++++++++++++ lib/NGCP/Schema/Result/voip_dbaliases.pm | 12 ++++++++++++ 2 files changed, 25 insertions(+) diff --git a/lib/NGCP/Schema/Result/autoprov_field_device_lines.pm b/lib/NGCP/Schema/Result/autoprov_field_device_lines.pm index 923abc01..29c58732 100644 --- a/lib/NGCP/Schema/Result/autoprov_field_device_lines.pm +++ b/lib/NGCP/Schema/Result/autoprov_field_device_lines.pm @@ -56,6 +56,13 @@ __PACKAGE__->add_columns( default_value => 0, is_nullable => 0, }, + "deviceid_alias_id", + { + data_type => "integer", + extra => { unsigned => 1 }, + is_foreign_key => 1, + is_nullable => 0, + }, ); __PACKAGE__->set_primary_key("id"); @@ -79,6 +86,12 @@ __PACKAGE__->belongs_to( { id => "linerange_id" }, { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, ); +__PACKAGE__->might_have( + "deviceid_alias", + 'NGCP::Schema::Result::voip_dbaliases', + { 'foreign.id' => 'self.deviceid_alias_id' }, + { cascade_copy => 0, cascade_delete => 0 }, +); sub TO_JSON { my ($self) = @_; diff --git a/lib/NGCP/Schema/Result/voip_dbaliases.pm b/lib/NGCP/Schema/Result/voip_dbaliases.pm index 24d9f150..2c31adf0 100644 --- a/lib/NGCP/Schema/Result/voip_dbaliases.pm +++ b/lib/NGCP/Schema/Result/voip_dbaliases.pm @@ -62,6 +62,18 @@ __PACKAGE__->belongs_to( { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, ); +__PACKAGE__->belongs_to( + "voip_number", + "NGCP::Schema::Result::voip_numbers", + sub { + my ($self) = @_; + return { + $self->{self_alias}.'.username' => { "=" => \["concat($$self{foreign_alias}.cc,$$self{foreign_alias}.ac,$$self{foreign_alias}.sn)"] } + }; + }, + { cascade_copy => 0, cascade_delete => 0 }, +); + sub TO_JSON { my ($self) = @_; return {