diff --git a/DB/lib/MJB/DB/Result/Blog.pm b/DB/lib/MJB/DB/Result/Blog.pm new file mode 100644 index 0000000..4261088 --- /dev/null +++ b/DB/lib/MJB/DB/Result/Blog.pm @@ -0,0 +1,221 @@ +use utf8; +package MJB::DB::Result::Blog; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + +=head1 NAME + +MJB::DB::Result::Blog + +=cut + +use strict; +use warnings; + +use base 'DBIx::Class::Core'; + +=head1 COMPONENTS LOADED + +=over 4 + +=item * L + +=item * L + +=back + +=cut + +__PACKAGE__->load_components("InflateColumn::DateTime", "InflateColumn::Serializer"); + +=head1 TABLE: C + +=cut + +__PACKAGE__->table("blog"); + +=head1 ACCESSORS + +=head2 id + + data_type: 'integer' + is_auto_increment: 1 + is_nullable: 0 + sequence: 'blog_id_seq' + +=head2 person_id + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 0 + +=head2 domain_id + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 1 + +=head2 max_static_file_count + + data_type: 'integer' + default_value: 100 + is_nullable: 0 + +=head2 max_static_file_size + + data_type: 'integer' + default_value: 5 + is_nullable: 0 + +=head2 max_static_webroot_size + + data_type: 'integer' + default_value: 50 + is_nullable: 0 + +=head2 minutes_wait_after_build + + data_type: 'integer' + default_value: 10 + is_nullable: 0 + +=head2 builds_per_hour + + data_type: 'integer' + default_value: 3 + is_nullable: 0 + +=head2 builds_per_day + + data_type: 'integer' + default_value: 12 + is_nullable: 0 + +=head2 build_priority + + data_type: 'integer' + default_value: 1 + is_nullable: 0 + +=head2 is_enabled + + data_type: 'boolean' + default_value: true + is_nullable: 0 + +=head2 created_at + + data_type: 'timestamp with time zone' + default_value: current_timestamp + is_nullable: 0 + +=cut + +__PACKAGE__->add_columns( + "id", + { + data_type => "integer", + is_auto_increment => 1, + is_nullable => 0, + sequence => "blog_id_seq", + }, + "person_id", + { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, + "domain_id", + { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, + "max_static_file_count", + { data_type => "integer", default_value => 100, is_nullable => 0 }, + "max_static_file_size", + { data_type => "integer", default_value => 5, is_nullable => 0 }, + "max_static_webroot_size", + { data_type => "integer", default_value => 50, is_nullable => 0 }, + "minutes_wait_after_build", + { data_type => "integer", default_value => 10, is_nullable => 0 }, + "builds_per_hour", + { data_type => "integer", default_value => 3, is_nullable => 0 }, + "builds_per_day", + { data_type => "integer", default_value => 12, is_nullable => 0 }, + "build_priority", + { data_type => "integer", default_value => 1, is_nullable => 0 }, + "is_enabled", + { data_type => "boolean", default_value => \"true", is_nullable => 0 }, + "created_at", + { + data_type => "timestamp with time zone", + default_value => \"current_timestamp", + is_nullable => 0, + }, +); + +=head1 PRIMARY KEY + +=over 4 + +=item * L + +=back + +=cut + +__PACKAGE__->set_primary_key("id"); + +=head1 RELATIONS + +=head2 builds + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "builds", + "MJB::DB::Result::Build", + { "foreign.blog_id" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + +=head2 domain + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "domain", + "MJB::DB::Result::Domain", + { id => "domain_id" }, + { + is_deferrable => 0, + join_type => "LEFT", + on_delete => "NO ACTION", + on_update => "NO ACTION", + }, +); + +=head2 person + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "person", + "MJB::DB::Result::Person", + { id => "person_id" }, + { is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" }, +); + + +# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-09-07 05:14:59 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nXEEcu7TDNPHpSGNnle5Dw + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +1; diff --git a/DB/lib/MJB/DB/Result/Build.pm b/DB/lib/MJB/DB/Result/Build.pm new file mode 100644 index 0000000..5036b83 --- /dev/null +++ b/DB/lib/MJB/DB/Result/Build.pm @@ -0,0 +1,121 @@ +use utf8; +package MJB::DB::Result::Build; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + +=head1 NAME + +MJB::DB::Result::Build + +=cut + +use strict; +use warnings; + +use base 'DBIx::Class::Core'; + +=head1 COMPONENTS LOADED + +=over 4 + +=item * L + +=item * L + +=back + +=cut + +__PACKAGE__->load_components("InflateColumn::DateTime", "InflateColumn::Serializer"); + +=head1 TABLE: C + +=cut + +__PACKAGE__->table("build"); + +=head1 ACCESSORS + +=head2 id + + data_type: 'integer' + is_auto_increment: 1 + is_nullable: 0 + sequence: 'build_id_seq' + +=head2 blog_id + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 0 + +=head2 job_id + + data_type: 'integer' + is_nullable: 0 + +=head2 created_at + + data_type: 'timestamp with time zone' + default_value: current_timestamp + is_nullable: 0 + +=cut + +__PACKAGE__->add_columns( + "id", + { + data_type => "integer", + is_auto_increment => 1, + is_nullable => 0, + sequence => "build_id_seq", + }, + "blog_id", + { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, + "job_id", + { data_type => "integer", is_nullable => 0 }, + "created_at", + { + data_type => "timestamp with time zone", + default_value => \"current_timestamp", + is_nullable => 0, + }, +); + +=head1 PRIMARY KEY + +=over 4 + +=item * L + +=back + +=cut + +__PACKAGE__->set_primary_key("id"); + +=head1 RELATIONS + +=head2 blog + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "blog", + "MJB::DB::Result::Blog", + { id => "blog_id" }, + { is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" }, +); + + +# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-09-07 05:14:59 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2Yfx2//Fg5KBBNXVnq6FMA + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +1; diff --git a/DB/lib/MJB/DB/Result/Domain.pm b/DB/lib/MJB/DB/Result/Domain.pm new file mode 100644 index 0000000..25f0f97 --- /dev/null +++ b/DB/lib/MJB/DB/Result/Domain.pm @@ -0,0 +1,150 @@ +use utf8; +package MJB::DB::Result::Domain; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + +=head1 NAME + +MJB::DB::Result::Domain + +=cut + +use strict; +use warnings; + +use base 'DBIx::Class::Core'; + +=head1 COMPONENTS LOADED + +=over 4 + +=item * L + +=item * L + +=back + +=cut + +__PACKAGE__->load_components("InflateColumn::DateTime", "InflateColumn::Serializer"); + +=head1 TABLE: C + +=cut + +__PACKAGE__->table("domain"); + +=head1 ACCESSORS + +=head2 id + + data_type: 'integer' + is_auto_increment: 1 + is_nullable: 0 + sequence: 'domain_id_seq' + +=head2 person_id + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 0 + +=head2 name + + data_type: 'citext' + is_nullable: 0 + +=head2 created_at + + data_type: 'timestamp with time zone' + default_value: current_timestamp + is_nullable: 0 + +=cut + +__PACKAGE__->add_columns( + "id", + { + data_type => "integer", + is_auto_increment => 1, + is_nullable => 0, + sequence => "domain_id_seq", + }, + "person_id", + { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, + "name", + { data_type => "citext", is_nullable => 0 }, + "created_at", + { + data_type => "timestamp with time zone", + default_value => \"current_timestamp", + is_nullable => 0, + }, +); + +=head1 PRIMARY KEY + +=over 4 + +=item * L + +=back + +=cut + +__PACKAGE__->set_primary_key("id"); + +=head1 UNIQUE CONSTRAINTS + +=head2 C + +=over 4 + +=item * L + +=back + +=cut + +__PACKAGE__->add_unique_constraint("domain_name_key", ["name"]); + +=head1 RELATIONS + +=head2 blogs + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "blogs", + "MJB::DB::Result::Blog", + { "foreign.domain_id" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + +=head2 person + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "person", + "MJB::DB::Result::Person", + { id => "person_id" }, + { is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" }, +); + + +# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-09-07 05:14:59 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:J/Y4weagD34GOj8npijaUg + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +1; diff --git a/DB/lib/MJB/DB/Result/Person.pm b/DB/lib/MJB/DB/Result/Person.pm index fc266c6..dfee84c 100644 --- a/DB/lib/MJB/DB/Result/Person.pm +++ b/DB/lib/MJB/DB/Result/Person.pm @@ -156,6 +156,36 @@ __PACKAGE__->has_many( { cascade_copy => 0, cascade_delete => 0 }, ); +=head2 blogs + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "blogs", + "MJB::DB::Result::Blog", + { "foreign.person_id" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + +=head2 domains + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "domains", + "MJB::DB::Result::Domain", + { "foreign.person_id" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + =head2 person_settings Type: has_many @@ -172,8 +202,8 @@ __PACKAGE__->has_many( ); -# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-09-07 02:12:13 -# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:t8nEGpGF7PyRX9J3V7R9Rw +# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-09-07 05:14:59 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:StVpNq9qBRBsCb1DYsPjoA use Data::GUID;