App-Dochazka-REST
view release on metacpan or search on metacpan
lib/App/Dochazka/REST/Model/Interval.pm view on Meta::CPAN
=head1 METHODS
=head2 load_by_iid
Boilerplate.
=cut
sub load_by_iid {
my $self = shift;
my ( $conn, $iid ) = validate_pos( @_,
{ isa => 'DBIx::Connector' },
{ type => SCALAR },
);
return load(
conn => $conn,
class => __PACKAGE__,
sql => $site->SQL_INTERVAL_SELECT_BY_IID,
keys => [ $iid ],
);
}
=head2 insert
Instance method. Attempts to INSERT a record.
Field values are taken from the object. Returns a status object.
=cut
sub insert {
my $self = shift;
my ( $context ) = validate_pos( @_, { type => HASHREF } );
return $CELL->status_err(
"DOCHAZKA_PARTIAL_INTERVAL_ILLEGAL_OPERATION"
) if $self->partial;
my $status = cud(
conn => $context->{'dbix_conn'},
eid => $context->{'current'}->{'eid'},
object => $self,
sql => $site->SQL_INTERVAL_INSERT,
attrs => [ 'eid', 'aid', 'intvl', 'long_desc', 'remark' ],
);
return $status;
}
=head2 update
Instance method. Attempts to UPDATE a record.
Field values are taken from the object. Returns a status object.
=cut
sub update {
my $self = shift;
my ( $context ) = validate_pos( @_, { type => HASHREF } );
return $CELL->status_err( 'DOCHAZKA_MALFORMED_400' ) unless $self->{'iid'};
return $CELL->status_err(
"DOCHAZKA_PARTIAL_INTERVAL_ILLEGAL_OPERATION"
) if $self->partial;
my $status = cud(
conn => $context->{'dbix_conn'},
eid => $context->{'current'}->{'eid'},
object => $self,
sql => $site->SQL_INTERVAL_UPDATE,
attrs => [ qw( eid aid intvl long_desc remark iid ) ],
);
return $status;
}
=head2 delete
Instance method. Attempts to DELETE a record.
Field values are taken from the object. Returns a status object.
=cut
sub delete {
my $self = shift;
my ( $context ) = validate_pos( @_, { type => HASHREF } );
return $CELL->status_err(
"DOCHAZKA_PARTIAL_INTERVAL_ILLEGAL_OPERATION"
) if $self->partial;
my $status = cud(
conn => $context->{'dbix_conn'},
eid => $context->{'current'}->{'eid'},
object => $self,
sql => $site->SQL_INTERVAL_DELETE,
attrs => [ 'iid' ],
);
$self->reset( iid => $self->{iid} ) if $status->ok;
return $status;
}
=head1 FUNCTIONS
=head2 iid_exists
Boolean function
=cut
BEGIN {
( run in 0.677 second using v1.01-cache-2.11-cpan-39bf76dae61 )