Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
package MetaCPAN::Web::Controller::Account::Trust; | ||
|
||
use Moose; | ||
BEGIN { extends 'MetaCPAN::Web::Controller' } | ||
|
||
sub add : Local { | ||
my ( $self, $c ) = @_; | ||
$c->detach('/forbidden') unless ( $c->req->method eq 'POST' ); | ||
my $model = $c->model('API::User'); | ||
my $data = $c->req->params; | ||
This comment has been minimized.
Sorry, something went wrong. |
||
my $res; | ||
if ( $data->{remove} ) { | ||
$res = $model->remove_from_trustlist( $data, $c->token )->recv; | ||
This comment has been minimized.
Sorry, something went wrong.
oalders
Member
|
||
} | ||
else { | ||
$res = $model->add_to_trustlist( $data, $c->token )->recv; | ||
} | ||
if ( $c->req->looks_like_browser ) { | ||
$c->res->redirect( | ||
$res->{error} | ||
? $c->req->referer | ||
: $c->uri_for('/account/turing/index') | ||
); | ||
} | ||
This comment has been minimized.
Sorry, something went wrong.
oalders
Member
|
||
else { | ||
$c->stash( { success => $res->{error} ? \0 : \1 } ); | ||
$c->res->code(400) if ( $res->{error} ); | ||
$c->detach( $c->view('JSON') ); | ||
} | ||
} | ||
|
||
__PACKAGE__->meta->make_immutable; |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -37,6 +37,17 @@ sub remove_favorite { | |
undef, { method => 'DELETE', token => $token } ); | ||
} | ||
|
||
sub add_to_trustlist { | ||
my ( $self, $data, $token ) = @_; | ||
$self->request( '/user/trust/', $data, { token => $token } ); | ||
} | ||
|
||
sub remove_from_trustlist { | ||
my ( $self, $data, $token ) = @_; | ||
This comment has been minimized.
Sorry, something went wrong.
oalders
Member
|
||
$self->request( '/user/trust/' . $data->{module}, | ||
undef, { method => 'DELETE', token => $token } ); | ||
} | ||
|
||
This comment has been minimized.
Sorry, something went wrong.
oalders
Member
|
||
sub turing { | ||
my ( $self, $challenge, $answer, $token ) = @_; | ||
$self->request( | ||
|
my $data
is actually not a particularly descriptive name as that could apply to any variable. By looking at the name, I don't get any deeper understanding of what the variable does. Having said that, we don't need this variable. Rather than passing a HashRef of all params to the model, we should only pass the fields which are required. This will make it easier to understand what is going on.