diff --git a/lib/NGCP/Schema/Result/autoprov_device_line_ranges.pm b/lib/NGCP/Schema/Result/autoprov_device_line_ranges.pm new file mode 100644 index 00000000..66040099 --- /dev/null +++ b/lib/NGCP/Schema/Result/autoprov_device_line_ranges.pm @@ -0,0 +1,185 @@ +package NGCP::Schema::Result::autoprov_device_line_ranges; +use Sipwise::Base; +use MooseX::NonMoose; +use Scalar::Util qw(blessed); +our $VERSION = '2.006'; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + + + +extends 'DBIx::Class::Core'; + + +__PACKAGE__->load_components("InflateColumn::DateTime", "Helper::Row::ToJSON"); + + +__PACKAGE__->table("provisioning.autoprov_device_line_ranges"); + + +__PACKAGE__->add_columns( + "id", + { + data_type => "integer", + extra => { unsigned => 1 }, + is_auto_increment => 1, + is_nullable => 0, + }, + "device_id", + { + data_type => "integer", + extra => { unsigned => 1 }, + is_foreign_key => 1, + is_nullable => 0, + }, + "name", + { data_type => "varchar", is_nullable => 0, size => 255 }, + "num_lines", + { + data_type => "integer", + default_value => 0, + extra => { unsigned => 1 }, + is_nullable => 0, + }, + "can_private", + { + data_type => "tinyint", + default_value => 0, + extra => { unsigned => 1 }, + is_nullable => 0, + }, + "can_shared", + { + data_type => "tinyint", + default_value => 0, + extra => { unsigned => 1 }, + is_nullable => 0, + }, + "can_blf", + { + data_type => "tinyint", + default_value => 0, + extra => { unsigned => 1 }, + is_nullable => 0, + }, +); + + +__PACKAGE__->set_primary_key("id"); + + +__PACKAGE__->belongs_to( + "device", + "NGCP::Schema::Result::autoprov_devices", + { id => "device_id" }, + { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, +); + +__PACKAGE__->has_many( + "autoprov_field_device_lines", + "NGCP::Schema::Result::autoprov_field_device_lines", + { "foreign.linerange_id" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + +sub TO_JSON { + my ($self) = @_; + return { + map { blessed($_) && $_->isa('DateTime') ? $_->datetime : $_ } %{ $self->next::method } + }; +} +=encoding UTF-8 + +=head1 NAME + +NGCP::Schema::provisioning::Result::autoprov_device_line_ranges + +=head1 COMPONENTS LOADED + +=over 4 + +=item * L + +=item * L + +=back + +=head1 TABLE: C + +=head1 ACCESSORS + +=head2 id + + data_type: 'integer' + extra: {unsigned => 1} + is_auto_increment: 1 + is_nullable: 0 + +=head2 device_id + + data_type: 'integer' + extra: {unsigned => 1} + is_foreign_key: 1 + is_nullable: 0 + +=head2 name + + data_type: 'varchar' + is_nullable: 0 + size: 255 + +=head2 num_lines + + data_type: 'integer' + default_value: 0 + extra: {unsigned => 1} + is_nullable: 0 + +=head2 can_private + + data_type: 'tinyint' + default_value: 0 + extra: {unsigned => 1} + is_nullable: 0 + +=head2 can_shared + + data_type: 'tinyint' + default_value: 0 + extra: {unsigned => 1} + is_nullable: 0 + +=head2 can_blf + + data_type: 'tinyint' + default_value: 0 + extra: {unsigned => 1} + is_nullable: 0 + +=head1 PRIMARY KEY + +=over 4 + +=item * L + +=back + +=head1 RELATIONS + +=head2 device + +Type: belongs_to + +Related object: L + +=cut + + +# Created by DBIx::Class::Schema::Loader v0.07035 @ 2013-10-01 15:26:08 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:bQQCuGxq7fEn1i/jkPZFxQ + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +__PACKAGE__->meta->make_immutable; +1; diff --git a/lib/NGCP/Schema/Result/autoprov_devices.pm b/lib/NGCP/Schema/Result/autoprov_devices.pm index 4d49f3f5..55409e23 100644 --- a/lib/NGCP/Schema/Result/autoprov_devices.pm +++ b/lib/NGCP/Schema/Result/autoprov_devices.pm @@ -82,6 +82,13 @@ __PACKAGE__->has_many( { cascade_copy => 0, cascade_delete => 0 }, ); +__PACKAGE__->has_many( + "autoprov_device_line_ranges", + "NGCP::Schema::Result::autoprov_device_line_ranges", + { "foreign.device_id" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + __PACKAGE__->set_primary_key("id"); sub TO_JSON { my ($self) = @_; diff --git a/lib/NGCP/Schema/Result/autoprov_field_device_lines.pm b/lib/NGCP/Schema/Result/autoprov_field_device_lines.pm new file mode 100644 index 00000000..62778eb2 --- /dev/null +++ b/lib/NGCP/Schema/Result/autoprov_field_device_lines.pm @@ -0,0 +1,179 @@ +package NGCP::Schema::Result::autoprov_field_device_lines; +use Sipwise::Base; +use MooseX::NonMoose; +use Scalar::Util qw(blessed); +our $VERSION = '2.006'; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + + + +extends 'DBIx::Class::Core'; + + +__PACKAGE__->load_components("InflateColumn::DateTime", "Helper::Row::ToJSON"); + + +__PACKAGE__->table("provisioning.autoprov_field_device_lines"); + + +__PACKAGE__->add_columns( + "id", + { + data_type => "integer", + extra => { unsigned => 1 }, + is_auto_increment => 1, + is_nullable => 0, + }, + "device_id", + { + data_type => "integer", + extra => { unsigned => 1 }, + is_foreign_key => 1, + is_nullable => 0, + }, + "subscriber_id", + { + data_type => "integer", + extra => { unsigned => 1 }, + is_foreign_key => 1, + is_nullable => 0, + }, + "linerange_id", + { + data_type => "integer", + extra => { unsigned => 1 }, + is_foreign_key => 1, + is_nullable => 0, + }, + "linerange_num", + { data_type => "integer", extra => { unsigned => 1 }, is_nullable => 0 }, + "key_num", + { data_type => "integer", extra => { unsigned => 1 }, is_nullable => 0 }, + "line_type", + { + data_type => "enum", + default_value => "private", + extra => { list => ["private", "shared", "blf"] }, + is_nullable => 1, + }, +); + + +__PACKAGE__->set_primary_key("id"); + + +__PACKAGE__->belongs_to( + "device", + "NGCP::Schema::Result::autoprov_field_devices", + { id => "device_id" }, + { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, +); + + +__PACKAGE__->belongs_to( + "provisioning_voip_subscriber", + "NGCP::Schema::Result::provisioning_voip_subscribers", + { id => "subscriber_id" }, + { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, +); + +__PACKAGE__->belongs_to( + "autoconf_device_line_range", + "NGCP::Schema::Result::autoconf_device_line_ranges", + { id => "linerange_id" }, + { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, +); + +sub TO_JSON { + my ($self) = @_; + return { + map { blessed($_) && $_->isa('DateTime') ? $_->datetime : $_ } %{ $self->next::method } + }; +} +=encoding UTF-8 + +=head1 NAME + +NGCP::Schema::provisioning::Result::autoprov_field_device_lines + +=head1 COMPONENTS LOADED + +=over 4 + +=item * L + +=item * L + +=back + +=head1 TABLE: C + +=head1 ACCESSORS + +=head2 id + + data_type: 'integer' + extra: {unsigned => 1} + is_auto_increment: 1 + is_nullable: 0 + +=head2 device_id + + data_type: 'integer' + extra: {unsigned => 1} + is_foreign_key: 1 + is_nullable: 0 + +=head2 subscriber_id + + data_type: 'integer' + extra: {unsigned => 1} + is_foreign_key: 1 + is_nullable: 0 + +=head2 linerange_id + + data_type: 'integer' + extra: {unsigned => 1} + is_nullable: 0 + +=head2 key_id + + data_type: 'integer' + extra: {unsigned => 1} + is_nullable: 0 + +=head1 PRIMARY KEY + +=over 4 + +=item * L + +=back + +=head1 RELATIONS + +=head2 device + +Type: belongs_to + +Related object: L + +=head2 subscriber + +Type: belongs_to + +Related object: L + +=cut + + +# Created by DBIx::Class::Schema::Loader v0.07035 @ 2013-10-04 11:19:30 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:uKpCn7D/6aeJAwDWT7k3yw + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +__PACKAGE__->meta->make_immutable; +1; diff --git a/lib/NGCP/Schema/Result/autoprov_field_devices.pm b/lib/NGCP/Schema/Result/autoprov_field_devices.pm index 8618fc03..f30de436 100644 --- a/lib/NGCP/Schema/Result/autoprov_field_devices.pm +++ b/lib/NGCP/Schema/Result/autoprov_field_devices.pm @@ -26,11 +26,10 @@ __PACKAGE__->add_columns( is_auto_increment => 1, is_nullable => 0, }, - "subscriber_id", + "contract_id", { data_type => "integer", extra => { unsigned => 1 }, - is_foreign_key => 1, is_nullable => 0, }, "profile_id", @@ -42,6 +41,8 @@ __PACKAGE__->add_columns( }, "identifier", { data_type => "varchar", is_nullable => 0, size => 255 }, + "station_name", + { data_type => "varchar", is_nullable => 0, size => 255 }, "bootstrapped", { data_type => "tinyint", default_value => 0, is_nullable => 0 }, "insecure_transfer", @@ -62,11 +63,19 @@ __PACKAGE__->belongs_to( __PACKAGE__->belongs_to( - "provisioning_voip_subscriber", - "NGCP::Schema::Result::provisioning_voip_subscribers", - { id => "subscriber_id" }, + "contract", + "NGCP::Schema::Result::contracts", + { id => "contract_id" }, { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, ); + +__PACKAGE__->has_many( + "autoprov_field_device_lines", + "NGCP::Schema::Result::autoprov_field_device_lines", + { "foreign.device_id" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + sub TO_JSON { my ($self) = @_; return { diff --git a/lib/NGCP/Schema/Result/contracts.pm b/lib/NGCP/Schema/Result/contracts.pm index 1868dabf..955ea922 100644 --- a/lib/NGCP/Schema/Result/contracts.pm +++ b/lib/NGCP/Schema/Result/contracts.pm @@ -173,6 +173,13 @@ __PACKAGE__->has_many( { cascade_copy => 0, cascade_delete => 0 }, ); +__PACKAGE__->has_many( + "autoprov_field_devices", + "NGCP::Schema::Result::autoprov_field_devices", + { "foreign.contract_id" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + sub TO_JSON { my ($self) = @_; return { diff --git a/lib/NGCP/Schema/Result/provisioning_voip_subscribers.pm b/lib/NGCP/Schema/Result/provisioning_voip_subscribers.pm index c8de5122..9b69a18d 100644 --- a/lib/NGCP/Schema/Result/provisioning_voip_subscribers.pm +++ b/lib/NGCP/Schema/Result/provisioning_voip_subscribers.pm @@ -198,8 +198,8 @@ __PACKAGE__->belongs_to( ); __PACKAGE__->has_many( - "autoprov_field_devices", - "NGCP::Schema::Result::autoprov_field_devices", + "autoprov_field_device_lines", + "NGCP::Schema::Result::autoprov_field_device_lines", { "foreign.subscriber_id" => "self.id" }, { cascade_copy => 0, cascade_delete => 0 }, );