Skip to content

Commit

Permalink
Found a nasty bug. Fixed it.
Browse files Browse the repository at this point in the history
  • Loading branch information
Dave Cross committed Aug 20, 2019
1 parent 7eaffab commit 32c85b2
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 19 deletions.
20 changes: 4 additions & 16 deletions lib/Lystyng.pm
Original file line number Diff line number Diff line change
Expand Up @@ -387,35 +387,23 @@ post '/passreset' => sub {
my $code = body_parameters->{'code'};

unless ($code) {
return {
status => 400,
message => 'Reset code missing',
}
send_error 'Reset code missing', 400;
}

my $ps = $model->get_passreset_from_code($code);
unless ($ps) {
return {
status => 400,
message => "Code $code is no longer valid",
};
send_error "Code $code is no longer valid", 400;
}

my ($pass1, $pass2) = (
body_parameters->get('password'), body_parameters->get('password2')
);

unless ($pass1 and $pass2) {
return {
status => 400,
message => 'Must fill in both password fields',
}
send_error 'Must fill in both password fields', 400;
}
unless ($pass1 eq $pass2) {
return {
status => 400,
message => 'Password values are not the same',
};
send_error 'Password values are not the same', 400;
}

$model->update_user_password(
Expand Down
6 changes: 3 additions & 3 deletions t/003_user_admin.t
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,14 @@ $res = $test->request(POST '/passreset',
Content_type => 'application/json',
Content => encode_json({
code => $code,
password1 => 'Newpass',
password => 'Newpass',
password2 => 'Newpass',
}),
);

ok $res, 'Got a response from /passreset';
is $res->code, 200, 'Response is 200'
or diag $res->content;
is $res->code, 200, 'Response is 200';
diag $res->content;

# Clean up after ourselves
$user->password_resets->delete;
Expand Down

0 comments on commit 32c85b2

Please sign in to comment.