]> git.donarmstrong.com Git - debbugs.git/blob - Debbugs/DB/Result/Message.pm
switch to compatibility level 12
[debbugs.git] / Debbugs / DB / Result / Message.pm
1 use utf8;
2 package Debbugs::DB::Result::Message;
3
4 # Created by DBIx::Class::Schema::Loader
5 # DO NOT MODIFY THE FIRST PART OF THIS FILE
6
7 =head1 NAME
8
9 Debbugs::DB::Result::Message - Messages sent to bugs
10
11 =cut
12
13 use strict;
14 use warnings;
15
16 use base 'DBIx::Class::Core';
17
18 =head1 COMPONENTS LOADED
19
20 =over 4
21
22 =item * L<DBIx::Class::InflateColumn::DateTime>
23
24 =item * L<DBIx::Class::TimeStamp>
25
26 =back
27
28 =cut
29
30 __PACKAGE__->load_components("InflateColumn::DateTime", "TimeStamp");
31
32 =head1 TABLE: C<message>
33
34 =cut
35
36 __PACKAGE__->table("message");
37
38 =head1 ACCESSORS
39
40 =head2 id
41
42   data_type: 'integer'
43   is_auto_increment: 1
44   is_nullable: 0
45   sequence: 'message_id_seq'
46
47 Message id
48
49 =head2 msgid
50
51   data_type: 'text'
52   default_value: (empty string)
53   is_nullable: 0
54
55 Message id header
56
57 =head2 from_complete
58
59   data_type: 'text'
60   default_value: (empty string)
61   is_nullable: 0
62
63 Complete from header of message
64
65 =head2 to_complete
66
67   data_type: 'text'
68   default_value: (empty string)
69   is_nullable: 0
70
71 Complete to header of message
72
73 =head2 subject
74
75   data_type: 'text'
76   default_value: (empty string)
77   is_nullable: 0
78
79 Subject of the message
80
81 =head2 sent_date
82
83   data_type: 'timestamp with time zone'
84   is_nullable: 1
85
86 Time/date message was sent (from Date header)
87
88 =head2 refs
89
90   data_type: 'text'
91   default_value: (empty string)
92   is_nullable: 0
93
94 Contents of References: header
95
96 =head2 spam_score
97
98   data_type: 'double precision'
99   default_value: 0
100   is_nullable: 0
101
102 Spam score from spamassassin
103
104 =head2 is_spam
105
106   data_type: 'boolean'
107   default_value: false
108   is_nullable: 0
109
110 True if this message was spam and should not be shown
111
112 =cut
113
114 __PACKAGE__->add_columns(
115   "id",
116   {
117     data_type         => "integer",
118     is_auto_increment => 1,
119     is_nullable       => 0,
120     sequence          => "message_id_seq",
121   },
122   "msgid",
123   { data_type => "text", default_value => "", is_nullable => 0 },
124   "from_complete",
125   { data_type => "text", default_value => "", is_nullable => 0 },
126   "to_complete",
127   { data_type => "text", default_value => "", is_nullable => 0 },
128   "subject",
129   { data_type => "text", default_value => "", is_nullable => 0 },
130   "sent_date",
131   { data_type => "timestamp with time zone", is_nullable => 1 },
132   "refs",
133   { data_type => "text", default_value => "", is_nullable => 0 },
134   "spam_score",
135   { data_type => "double precision", default_value => 0, is_nullable => 0 },
136   "is_spam",
137   { data_type => "boolean", default_value => \"false", is_nullable => 0 },
138 );
139
140 =head1 PRIMARY KEY
141
142 =over 4
143
144 =item * L</id>
145
146 =back
147
148 =cut
149
150 __PACKAGE__->set_primary_key("id");
151
152 =head1 UNIQUE CONSTRAINTS
153
154 =head2 C<message_msgid_from_complete_to_complete_subject_idx>
155
156 =over 4
157
158 =item * L</msgid>
159
160 =item * L</from_complete>
161
162 =item * L</to_complete>
163
164 =item * L</subject>
165
166 =back
167
168 =cut
169
170 __PACKAGE__->add_unique_constraint(
171   "message_msgid_from_complete_to_complete_subject_idx",
172   ["msgid", "from_complete", "to_complete", "subject"],
173 );
174
175 =head1 RELATIONS
176
177 =head2 bug_messages
178
179 Type: has_many
180
181 Related object: L<Debbugs::DB::Result::BugMessage>
182
183 =cut
184
185 __PACKAGE__->has_many(
186   "bug_messages",
187   "Debbugs::DB::Result::BugMessage",
188   { "foreign.message" => "self.id" },
189   { cascade_copy => 0, cascade_delete => 0 },
190 );
191
192 =head2 message_correspondents
193
194 Type: has_many
195
196 Related object: L<Debbugs::DB::Result::MessageCorrespondent>
197
198 =cut
199
200 __PACKAGE__->has_many(
201   "message_correspondents",
202   "Debbugs::DB::Result::MessageCorrespondent",
203   { "foreign.message" => "self.id" },
204   { cascade_copy => 0, cascade_delete => 0 },
205 );
206
207 =head2 message_refs_messages
208
209 Type: has_many
210
211 Related object: L<Debbugs::DB::Result::MessageRef>
212
213 =cut
214
215 __PACKAGE__->has_many(
216   "message_refs_messages",
217   "Debbugs::DB::Result::MessageRef",
218   { "foreign.message" => "self.id" },
219   { cascade_copy => 0, cascade_delete => 0 },
220 );
221
222 =head2 message_refs_refs
223
224 Type: has_many
225
226 Related object: L<Debbugs::DB::Result::MessageRef>
227
228 =cut
229
230 __PACKAGE__->has_many(
231   "message_refs_refs",
232   "Debbugs::DB::Result::MessageRef",
233   { "foreign.refs" => "self.id" },
234   { cascade_copy => 0, cascade_delete => 0 },
235 );
236
237
238 # Created by DBIx::Class::Schema::Loader v0.07046 @ 2017-03-07 19:03:32
239 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:n8U0vD9R8M5wFoeoLlIWeQ
240
241 __PACKAGE__->many_to_many(bugs => 'bug_messages','bug');
242 __PACKAGE__->many_to_many(correspondents => 'message_correspondents','correspondent');
243 __PACKAGE__->many_to_many(references => 'message_refs_message','message');
244 __PACKAGE__->many_to_many(referenced_by => 'message_refs_refs','message');
245
246
247 sub sqlt_deploy_hook {
248     my ($self, $sqlt_table) = @_;
249     for my $idx (qw(msgid subject)) {
250         $sqlt_table->add_index(name => 'message_'.$idx.'_idx',
251                                fields => [$idx]);
252     }
253 }
254
255 1;