version 1.2, 2010/02/18 06:25:09 |
version 1.3, 2010/02/23 05:03:58 |
|
|
package Text::Todo::REST::API::Actions::PUT; |
package Text::Todo::REST::API::Actions::PUT; |
|
|
# $AFresh1: PUT.pm,v 1.1 2010/02/18 05:34:31 andrew Exp $ |
# $AFresh1: PUT.pm,v 1.2 2010/02/18 06:25:09 andrew Exp $ |
|
|
use warnings; |
use warnings; |
use strict; |
use strict; |
|
|
$entry = $list->[ $id - 1 ]; |
$entry = $list->[ $id - 1 ]; |
} |
} |
|
|
if ($entry && $options->{md5}) { |
if (! $entry) { |
if (md5_hex($entry->text) ne lc($options->{md5})) { |
return $self->_fail("Unable to find entry [$id]!"); |
$entry = undef; |
|
} |
|
} |
} |
|
|
if ( defined $new_text ) { |
if ( $options->{md5} |
if ($entry) { |
&& md5_hex( $entry->text ) ne lc( $options->{md5} ) ) |
$entry->replace($new_text); |
{ |
} |
$self->_fail('MD5 Check Failed');#{ |
else { |
#error => 501, |
$entry = $todo->add($new_text); |
#name => 'MD5_Fail', |
$line = 1 + @{$list}; |
#message => 'MD5 Check Failed', |
} |
#}); |
|
} |
|
|
$todo->save; |
if ( $options->{oldText} |
|
&& $entry->text ne $options->{oldText} |
return { |
) { |
line => $line, |
$self->_fail('Old text check failed'); |
md5 => md5_hex( $entry->text ), |
|
text => $entry->text, |
|
done => $entry->done, |
|
}; |
|
} |
} |
|
|
return $self->_fail("Unable to find entry [$id]!"); |
$entry->replace($new_text); |
|
|
|
$todo->save; |
|
|
|
return { |
|
line => $line, |
|
md5 => md5_hex( $entry->text ), |
|
text => $entry->text, |
|
done => $entry->done, |
|
}; |
} |
} |
|
|
#sub put_list { |
#sub put_list { |