]> git.donarmstrong.com Git - debbugs.git/blobdiff - Debbugs/DB/Result/Bug.pm
move Debbugs to lib
[debbugs.git] / Debbugs / DB / Result / Bug.pm
diff --git a/Debbugs/DB/Result/Bug.pm b/Debbugs/DB/Result/Bug.pm
deleted file mode 100644 (file)
index 6e559d4..0000000
+++ /dev/null
@@ -1,619 +0,0 @@
-use utf8;
-package Debbugs::DB::Result::Bug;
-
-# Created by DBIx::Class::Schema::Loader
-# DO NOT MODIFY THE FIRST PART OF THIS FILE
-
-=head1 NAME
-
-Debbugs::DB::Result::Bug - Bugs
-
-=cut
-
-use strict;
-use warnings;
-
-use base 'DBIx::Class::Core';
-
-=head1 COMPONENTS LOADED
-
-=over 4
-
-=item * L<DBIx::Class::InflateColumn::DateTime>
-
-=item * L<DBIx::Class::TimeStamp>
-
-=back
-
-=cut
-
-__PACKAGE__->load_components("InflateColumn::DateTime", "TimeStamp");
-
-=head1 TABLE: C<bug>
-
-=cut
-
-__PACKAGE__->table("bug");
-
-=head1 ACCESSORS
-
-=head2 id
-
-  data_type: 'integer'
-  is_nullable: 0
-
-Bug number
-
-=head2 creation
-
-  data_type: 'timestamp with time zone'
-  default_value: current_timestamp
-  is_nullable: 0
-  original: {default_value => \"now()"}
-
-Time bug created
-
-=head2 log_modified
-
-  data_type: 'timestamp with time zone'
-  default_value: current_timestamp
-  is_nullable: 0
-  original: {default_value => \"now()"}
-
-Time bug log was last modified
-
-=head2 last_modified
-
-  data_type: 'timestamp with time zone'
-  default_value: current_timestamp
-  is_nullable: 0
-  original: {default_value => \"now()"}
-
-Time bug status was last modified
-
-=head2 archived
-
-  data_type: 'boolean'
-  default_value: false
-  is_nullable: 0
-
-True if bug has been archived
-
-=head2 unarchived
-
-  data_type: 'timestamp with time zone'
-  is_nullable: 1
-
-Time bug was last unarchived; null if bug has never been unarchived
-
-=head2 forwarded
-
-  data_type: 'text'
-  default_value: (empty string)
-  is_nullable: 0
-
-Where bug has been forwarded to; empty if it has not been forwarded
-
-=head2 summary
-
-  data_type: 'text'
-  default_value: (empty string)
-  is_nullable: 0
-
-Summary of the bug; empty if it has no summary
-
-=head2 outlook
-
-  data_type: 'text'
-  default_value: (empty string)
-  is_nullable: 0
-
-Outlook of the bug; empty if it has no outlook
-
-=head2 subject
-
-  data_type: 'text'
-  is_nullable: 0
-
-Subject of the bug
-
-=head2 severity
-
-  data_type: 'integer'
-  is_foreign_key: 1
-  is_nullable: 0
-
-=head2 done
-
-  data_type: 'integer'
-  is_foreign_key: 1
-  is_nullable: 1
-
-Individual who did the -done; empty if it has never been -done
-
-=head2 done_full
-
-  data_type: 'text'
-  default_value: (empty string)
-  is_nullable: 0
-
-=head2 owner
-
-  data_type: 'integer'
-  is_foreign_key: 1
-  is_nullable: 1
-
-Individual who owns this bug; empty if no one owns it
-
-=head2 owner_full
-
-  data_type: 'text'
-  default_value: (empty string)
-  is_nullable: 0
-
-=head2 submitter
-
-  data_type: 'integer'
-  is_foreign_key: 1
-  is_nullable: 1
-
-Individual who submitted this bug; empty if there is no submitter
-
-=head2 submitter_full
-
-  data_type: 'text'
-  default_value: (empty string)
-  is_nullable: 0
-
-=head2 unknown_packages
-
-  data_type: 'text'
-  default_value: (empty string)
-  is_nullable: 0
-
-Package name if the package is not known
-
-=head2 unknown_affects
-
-  data_type: 'text'
-  default_value: (empty string)
-  is_nullable: 0
-
-Package name if the affected package is not known
-
-=cut
-
-__PACKAGE__->add_columns(
-  "id",
-  { data_type => "integer", is_nullable => 0 },
-  "creation",
-  {
-    data_type     => "timestamp with time zone",
-    default_value => \"current_timestamp",
-    is_nullable   => 0,
-    original      => { default_value => \"now()" },
-  },
-  "log_modified",
-  {
-    data_type     => "timestamp with time zone",
-    default_value => \"current_timestamp",
-    is_nullable   => 0,
-    original      => { default_value => \"now()" },
-  },
-  "last_modified",
-  {
-    data_type     => "timestamp with time zone",
-    default_value => \"current_timestamp",
-    is_nullable   => 0,
-    original      => { default_value => \"now()" },
-  },
-  "archived",
-  { data_type => "boolean", default_value => \"false", is_nullable => 0 },
-  "unarchived",
-  { data_type => "timestamp with time zone", is_nullable => 1 },
-  "forwarded",
-  { data_type => "text", default_value => "", is_nullable => 0 },
-  "summary",
-  { data_type => "text", default_value => "", is_nullable => 0 },
-  "outlook",
-  { data_type => "text", default_value => "", is_nullable => 0 },
-  "subject",
-  { data_type => "text", is_nullable => 0 },
-  "severity",
-  { data_type => "integer", is_foreign_key => 1, is_nullable => 0 },
-  "done",
-  { data_type => "integer", is_foreign_key => 1, is_nullable => 1 },
-  "done_full",
-  { data_type => "text", default_value => "", is_nullable => 0 },
-  "owner",
-  { data_type => "integer", is_foreign_key => 1, is_nullable => 1 },
-  "owner_full",
-  { data_type => "text", default_value => "", is_nullable => 0 },
-  "submitter",
-  { data_type => "integer", is_foreign_key => 1, is_nullable => 1 },
-  "submitter_full",
-  { data_type => "text", default_value => "", is_nullable => 0 },
-  "unknown_packages",
-  { data_type => "text", default_value => "", is_nullable => 0 },
-  "unknown_affects",
-  { data_type => "text", default_value => "", is_nullable => 0 },
-);
-
-=head1 PRIMARY KEY
-
-=over 4
-
-=item * L</id>
-
-=back
-
-=cut
-
-__PACKAGE__->set_primary_key("id");
-
-=head1 RELATIONS
-
-=head2 bug_affects_binpackages
-
-Type: has_many
-
-Related object: L<Debbugs::DB::Result::BugAffectsBinpackage>
-
-=cut
-
-__PACKAGE__->has_many(
-  "bug_affects_binpackages",
-  "Debbugs::DB::Result::BugAffectsBinpackage",
-  { "foreign.bug" => "self.id" },
-  { cascade_copy => 0, cascade_delete => 0 },
-);
-
-=head2 bug_affects_srcpackages
-
-Type: has_many
-
-Related object: L<Debbugs::DB::Result::BugAffectsSrcpackage>
-
-=cut
-
-__PACKAGE__->has_many(
-  "bug_affects_srcpackages",
-  "Debbugs::DB::Result::BugAffectsSrcpackage",
-  { "foreign.bug" => "self.id" },
-  { cascade_copy => 0, cascade_delete => 0 },
-);
-
-=head2 bug_binpackages
-
-Type: has_many
-
-Related object: L<Debbugs::DB::Result::BugBinpackage>
-
-=cut
-
-__PACKAGE__->has_many(
-  "bug_binpackages",
-  "Debbugs::DB::Result::BugBinpackage",
-  { "foreign.bug" => "self.id" },
-  { cascade_copy => 0, cascade_delete => 0 },
-);
-
-=head2 bug_blocks_blocks
-
-Type: has_many
-
-Related object: L<Debbugs::DB::Result::BugBlock>
-
-=cut
-
-__PACKAGE__->has_many(
-  "bug_blocks_blocks",
-  "Debbugs::DB::Result::BugBlock",
-  { "foreign.blocks" => "self.id" },
-  { cascade_copy => 0, cascade_delete => 0 },
-);
-
-=head2 bug_blocks_bugs
-
-Type: has_many
-
-Related object: L<Debbugs::DB::Result::BugBlock>
-
-=cut
-
-__PACKAGE__->has_many(
-  "bug_blocks_bugs",
-  "Debbugs::DB::Result::BugBlock",
-  { "foreign.bug" => "self.id" },
-  { cascade_copy => 0, cascade_delete => 0 },
-);
-
-=head2 bug_merged_bugs
-
-Type: has_many
-
-Related object: L<Debbugs::DB::Result::BugMerged>
-
-=cut
-
-__PACKAGE__->has_many(
-  "bug_merged_bugs",
-  "Debbugs::DB::Result::BugMerged",
-  { "foreign.bug" => "self.id" },
-  { cascade_copy => 0, cascade_delete => 0 },
-);
-
-=head2 bug_mergeds_merged
-
-Type: has_many
-
-Related object: L<Debbugs::DB::Result::BugMerged>
-
-=cut
-
-__PACKAGE__->has_many(
-  "bug_mergeds_merged",
-  "Debbugs::DB::Result::BugMerged",
-  { "foreign.merged" => "self.id" },
-  { cascade_copy => 0, cascade_delete => 0 },
-);
-
-=head2 bug_messages
-
-Type: has_many
-
-Related object: L<Debbugs::DB::Result::BugMessage>
-
-=cut
-
-__PACKAGE__->has_many(
-  "bug_messages",
-  "Debbugs::DB::Result::BugMessage",
-  { "foreign.bug" => "self.id" },
-  { cascade_copy => 0, cascade_delete => 0 },
-);
-
-=head2 bug_srcpackages
-
-Type: has_many
-
-Related object: L<Debbugs::DB::Result::BugSrcpackage>
-
-=cut
-
-__PACKAGE__->has_many(
-  "bug_srcpackages",
-  "Debbugs::DB::Result::BugSrcpackage",
-  { "foreign.bug" => "self.id" },
-  { cascade_copy => 0, cascade_delete => 0 },
-);
-
-=head2 bug_status_caches
-
-Type: has_many
-
-Related object: L<Debbugs::DB::Result::BugStatusCache>
-
-=cut
-
-__PACKAGE__->has_many(
-  "bug_status_caches",
-  "Debbugs::DB::Result::BugStatusCache",
-  { "foreign.bug" => "self.id" },
-  { cascade_copy => 0, cascade_delete => 0 },
-);
-
-=head2 bug_tags
-
-Type: has_many
-
-Related object: L<Debbugs::DB::Result::BugTag>
-
-=cut
-
-__PACKAGE__->has_many(
-  "bug_tags",
-  "Debbugs::DB::Result::BugTag",
-  { "foreign.bug" => "self.id" },
-  { cascade_copy => 0, cascade_delete => 0 },
-);
-
-=head2 bug_user_tags
-
-Type: has_many
-
-Related object: L<Debbugs::DB::Result::BugUserTag>
-
-=cut
-
-__PACKAGE__->has_many(
-  "bug_user_tags",
-  "Debbugs::DB::Result::BugUserTag",
-  { "foreign.bug" => "self.id" },
-  { cascade_copy => 0, cascade_delete => 0 },
-);
-
-=head2 bug_vers
-
-Type: has_many
-
-Related object: L<Debbugs::DB::Result::BugVer>
-
-=cut
-
-__PACKAGE__->has_many(
-  "bug_vers",
-  "Debbugs::DB::Result::BugVer",
-  { "foreign.bug" => "self.id" },
-  { cascade_copy => 0, cascade_delete => 0 },
-);
-
-=head2 done
-
-Type: belongs_to
-
-Related object: L<Debbugs::DB::Result::Correspondent>
-
-=cut
-
-__PACKAGE__->belongs_to(
-  "done",
-  "Debbugs::DB::Result::Correspondent",
-  { id => "done" },
-  {
-    is_deferrable => 0,
-    join_type     => "LEFT",
-    on_delete     => "NO ACTION",
-    on_update     => "NO ACTION",
-  },
-);
-
-=head2 owner
-
-Type: belongs_to
-
-Related object: L<Debbugs::DB::Result::Correspondent>
-
-=cut
-
-__PACKAGE__->belongs_to(
-  "owner",
-  "Debbugs::DB::Result::Correspondent",
-  { id => "owner" },
-  {
-    is_deferrable => 0,
-    join_type     => "LEFT",
-    on_delete     => "NO ACTION",
-    on_update     => "NO ACTION",
-  },
-);
-
-=head2 severity
-
-Type: belongs_to
-
-Related object: L<Debbugs::DB::Result::Severity>
-
-=cut
-
-__PACKAGE__->belongs_to(
-  "severity",
-  "Debbugs::DB::Result::Severity",
-  { id => "severity" },
-  { is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },
-);
-
-=head2 submitter
-
-Type: belongs_to
-
-Related object: L<Debbugs::DB::Result::Correspondent>
-
-=cut
-
-__PACKAGE__->belongs_to(
-  "submitter",
-  "Debbugs::DB::Result::Correspondent",
-  { id => "submitter" },
-  {
-    is_deferrable => 0,
-    join_type     => "LEFT",
-    on_delete     => "NO ACTION",
-    on_update     => "NO ACTION",
-  },
-);
-
-
-# Created by DBIx::Class::Schema::Loader v0.07048 @ 2018-04-11 13:06:55
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:qxkLXbv8JGoV9reebbOUEw
-
-use Carp;
-use List::AllUtils qw(uniq);
-
-__PACKAGE__->many_to_many(tags => 'bug_tags','tag');
-__PACKAGE__->many_to_many(user_tags => 'bug_user_tags','user_tag');
-__PACKAGE__->many_to_many(srcpackages => 'bug_srcpackages','src_pkg');
-__PACKAGE__->many_to_many(binpackages => 'bug_binpackages','bin_pkg');
-__PACKAGE__->many_to_many(affects_binpackages => 'bug_affects_binpackages','bin_pkg');
-__PACKAGE__->many_to_many(affects_srcpackages => 'bug_affects_srcpackages','src_pkg');
-__PACKAGE__->many_to_many(messages => 'bug_messages','message');
-
-sub sqlt_deploy_hook {
-    my ($self, $sqlt_table) = @_;
-    # CREATE INDEX bug_idx_owner ON bug(owner);
-    # CREATE INDEX bug_idx_submitter ON bug(submitter);
-    # CREATE INDEX bug_idx_done ON bug(done);
-    # CREATE INDEX bug_idx_forwarded ON bug(forwarded);
-    # CREATE INDEX bug_idx_last_modified ON bug(last_modified);
-    # CREATE INDEX bug_idx_severity ON bug(severity);
-    # CREATE INDEX bug_idx_creation ON bug(creation);
-    # CREATE INDEX bug_idx_log_modified ON bug(log_modified);
-    for my $idx (qw(owner submitter done forwarded last_modified),
-                qw(severity creation log_modified),
-               ) {
-       $sqlt_table->add_index(name => 'bug_idx'.$idx,
-                              fields => [$idx]);
-    }
-}
-
-=head1 Utility Functions
-
-=cut
-
-=head2 set_related_packages
-
- $b->set_related_packages($relationship,
-                         \@packages,
-                         $package_cache ,
-                        );
-
-Set bug-related packages.
-
-=cut
-
-sub set_related_packages {
-    my ($self,$relationship,$pkgs,$pkg_cache) = @_;
-
-    my @unset_packages;
-    my @pkg_ids;
-    if ($relationship =~ /binpackages/) {
-        for my $pkg (@{$pkgs}) {
-           my $pkg_id =
-              $self->result_source->schema->resultset('BinPkg')->
-              get_bin_pkg_id($pkg);
-           if (not defined $pkg_id) {
-               push @unset_packages,$pkg;
-           } else {
-              push @pkg_ids, $pkg_id;
-           }
-        }
-    } elsif ($relationship =~ /srcpackages/) {
-        for my $pkg (@{$pkgs}) {
-           my $pkg_id =
-              $self->result_source->schema->resultset('SrcPkg')->
-              get_src_pkg_id($pkg);
-           if (not defined $pkg_id) {
-               push @unset_packages,$pkg;
-           } else {
-               push @pkg_ids,$pkg_id;
-           }
-        }
-    } else {
-        croak "Unsupported relationship $relationship";
-    }
-    @pkg_ids = uniq @pkg_ids;
-    if ($relationship eq 'binpackages') {
-        $self->set_binpackages([map {{id => $_}} @pkg_ids]);
-    } elsif ($relationship eq 'srcpackages') {
-        $self->set_srcpackages([map {{id => $_}} @pkg_ids]);
-    } elsif ($relationship eq 'affects_binpackages') {
-        $self->set_affects_binpackages([map {{id => $_}} @pkg_ids]);
-    } elsif ($relationship eq 'affects_srcpackages') {
-        $self->set_affects_srcpackages([map {{id => $_}} @pkg_ids]);
-    } else {
-        croak "Unsupported relationship $relationship";
-    }
-    return @unset_packages
-}
-# You can replace this text with custom code or comments, and it will be preserved on regeneration
-1;