Purge affected pages on insert/update/delete
[gruntmaster-data.git] / lib / Gruntmaster / Data / Result / ContestProblem.pm
CommitLineData
4ed3f8e7
MG
1use utf8;
2package Gruntmaster::Data::Result::ContestProblem;
3
4# Created by DBIx::Class::Schema::Loader
5# DO NOT MODIFY THE FIRST PART OF THIS FILE
6
7=head1 NAME
8
be2f7678 9Gruntmaster::Data::Result::ContestProblem - Many-to-many bridge between contests and problems
4ed3f8e7
MG
10
11=cut
12
13use strict;
14use warnings;
15
16use base 'DBIx::Class::Core';
17
18=head1 TABLE: C<contest_problems>
19
20=cut
21
22__PACKAGE__->table("contest_problems");
23
24=head1 ACCESSORS
25
26=head2 contest
27
28 data_type: 'text'
29 is_foreign_key: 1
30 is_nullable: 0
31
32=head2 problem
33
34 data_type: 'text'
35 is_foreign_key: 1
36 is_nullable: 0
37
38=cut
39
40__PACKAGE__->add_columns(
41 "contest",
42 { data_type => "text", is_foreign_key => 1, is_nullable => 0 },
43 "problem",
44 { data_type => "text", is_foreign_key => 1, is_nullable => 0 },
45);
46
47=head1 PRIMARY KEY
48
49=over 4
50
51=item * L</contest>
52
53=item * L</problem>
54
55=back
56
57=cut
58
59__PACKAGE__->set_primary_key("contest", "problem");
60
61=head1 RELATIONS
62
63=head2 contest
64
65Type: belongs_to
66
67Related object: L<Gruntmaster::Data::Result::Contest>
68
69=cut
70
71__PACKAGE__->belongs_to(
72 "contest",
73 "Gruntmaster::Data::Result::Contest",
74 { id => "contest" },
9bb39921 75 { is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
4ed3f8e7
MG
76);
77
78=head2 problem
79
80Type: belongs_to
81
82Related object: L<Gruntmaster::Data::Result::Problem>
83
84=cut
85
86__PACKAGE__->belongs_to(
87 "problem",
88 "Gruntmaster::Data::Result::Problem",
89 { id => "problem" },
9bb39921 90 { is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
4ed3f8e7
MG
91);
92
93
be2f7678
MG
94# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:44:22
95# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dTFBC3ZKB2T9SCiyQxxe2w
4ed3f8e7 96
de7226ca
MG
97use Class::Method::Modifiers qw/after/;
98
a2aa46e6
MG
99sub rawcontest { shift->get_column('contest') }
100sub rawproblem { shift->get_column('problem') }
4ed3f8e7 101
de7226ca
MG
102after qw/insert update delete/ => sub {
103 my ($self) = @_;
104 Gruntmaster::Data::purge '/pb/';
105 Gruntmaster::Data::purge '/pb/' . $self->rawproblem;
106};
107
4ed3f8e7 1081;
4a8747ef
MG
109
110__END__
111
112=head1 AUTHOR
113
114Marius Gavrilescu E<lt>marius@ieval.roE<gt>
115
116=head1 COPYRIGHT AND LICENSE
117
118Copyright (C) 2014 by Marius Gavrilescu
119
120This library is free software; you can redistribute it and/or modify
121it under the same terms as Perl itself, either Perl version 5.18.1 or,
122at your option, any later version of Perl 5 you may have available.
123
124
125=cut
This page took 0.019059 seconds and 4 git commands to generate.