mourningdove/cgi-bin/DW/Task/DeleteEntry.pm
2026-05-24 01:03:05 +00:00

55 lines
1.1 KiB
Perl

#!/usr/bin/perl
#
# DW::Task::DeleteEntry
#
# Worker for asynchronous entry deletion.
#
# Authors:
# Mark Smith <mark@dreamwidth.org>
#
# Copyright (c) 2009-2026 by Dreamwidth Studios, LLC.
#
# This program is free software; you may redistribute it and/or modify it under
# the same terms as Perl itself. For a copy of the license, please reference
# 'perldoc perlartistic' or 'perldoc perlgpl'.
#
package DW::Task::DeleteEntry;
use strict;
use v5.10;
use Log::Log4perl;
my $log = Log::Log4perl->get_logger(__PACKAGE__);
use LJ::Entry;
use base 'DW::Task';
sub work {
my ( $self, $handle ) = @_;
my $args = $self->args->[0];
my $rv = eval {
LJ::delete_entry(
$args->{uid},
$args->{jitemid},
0, # not quick, do it all
$args->{anum},
);
};
if ($@) {
$log->error("Exception deleting entry: $@");
return DW::Task::FAILED;
}
unless ($rv) {
$log->error("Failed to delete entry uid=$args->{uid} jitemid=$args->{jitemid}.");
return DW::Task::FAILED;
}
return DW::Task::COMPLETED;
}
1;