blob: d043b121abddefcd45e0a74b62b3fd021d162afc [file] [log] [blame]
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
package Bugzilla::BugUserLastVisit;
use 5.10.1;
use strict;
use warnings;
use parent qw(Bugzilla::Object);
#####################################################################
# Overriden Constants that are used as methods
#####################################################################
use constant DB_TABLE => 'bug_user_last_visit';
use constant DB_COLUMNS => qw( id user_id bug_id last_visit_ts );
use constant UPDATE_COLUMNS => qw( last_visit_ts );
use constant VALIDATORS => {};
use constant LIST_ORDER => 'id';
use constant NAME_FIELD => 'id';
# turn off auditing and exclude these objects from memcached
use constant { AUDIT_CREATES => 0,
AUDIT_UPDATES => 0,
AUDIT_REMOVES => 0,
USE_MEMCACHED => 0 };
#####################################################################
# Provide accessors for our columns
#####################################################################
sub id { return $_[0]->{id} }
sub bug_id { return $_[0]->{bug_id} }
sub user_id { return $_[0]->{user_id} }
sub last_visit_ts { return $_[0]->{last_visit_ts} }
sub user {
my $self = shift;
$self->{user} //= Bugzilla::User->new({ id => $self->user_id, cache => 1 });
return $self->{user};
}
1;
__END__
=head1 NAME
Bugzilla::BugUserLastVisit - Model for BugUserLastVisit bug search data
=head1 SYNOPSIS
use Bugzilla::BugUserLastVisit;
my $lv = Bugzilla::BugUserLastVisit->new($id);
# Class Functions
$user = Bugzilla::BugUserLastVisit->create({
bug_id => $bug_id,
user_id => $user_id,
last_visit_ts => $last_visit_ts
});
=head1 DESCRIPTION
This package handles Bugzilla BugUserLastVisit.
C<Bugzilla::BugUserLastVisit> is an implementation of L<Bugzilla::Object>, and
thus provides all the methods of L<Bugzilla::Object> in addition to the methods
listed below.
=head1 METHODS
=head2 Accessor Methods
=over
=item C<id>
=item C<bug_id>
=item C<user_id>
=item C<last_visit_ts>
=item C<user>
=back