# 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.14.0; 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 is an implementation of L, and thus provides all the methods of L in addition to the methods listed below. =head1 METHODS =head2 Accessor Methods =over =item C =item C =item C =item C =item C =back