X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Controller-DBIC-API.git;a=blobdiff_plain;f=lib%2FCatalyst%2FController%2FDBIC%2FAPI%2FRPC.pm;h=adfb7eac57dc46371ba3714bb12b246d9be98b2e;hp=b3b17c3e5b4f101aac690d56c2a52f6ae31b7ec7;hb=c0c8e1c607a024ac8425f6f7d889d35cd63bcebc;hpb=406086f3da2f020cf98b01d994ffe2d1b8a478c4 diff --git a/lib/Catalyst/Controller/DBIC/API/RPC.pm b/lib/Catalyst/Controller/DBIC/API/RPC.pm index b3b17c3..adfb7ea 100644 --- a/lib/Catalyst/Controller/DBIC/API/RPC.pm +++ b/lib/Catalyst/Controller/DBIC/API/RPC.pm @@ -1,4 +1,5 @@ package Catalyst::Controller::DBIC::API::RPC; + #ABSTRACT: Provides an RPC interface to DBIx::Class use Moose; @@ -16,7 +17,8 @@ __PACKAGE__->config( =head1 DESCRIPTION -Provides an RPC API interface to the functionality described in L. +Provides an RPC API interface to the functionality described in +L. By default provides the following endpoints: @@ -34,7 +36,13 @@ Chained: override PathPart: override CaptureArgs: 0 -As described in L, this action is the chain root of the controller but has no pathpart or chain parent defined by default, so these must be defined in order for the controller to function. The neatest way is normally to define these using the controller's config. +As described in L, this action is the +chain root of the controller but has no pathpart or chain parent defined by +default. + +These must be defined in order for the controller to function. + +The neatest way is normally to define these using the controller's config. __PACKAGE__->config ( action => { setup => { PathPart => 'track', Chained => '/api/rpc/rpc_base' } }, @@ -43,26 +51,19 @@ As described in L, this action is the cha =cut -sub index : Chained('setup') PathPart('') Args(0) { - my ( $self, $c ) = @_; - - $self->push_error($c, { message => 'Not implemented' }); - $c->res->status( '404' ); -} - =method_protected create Chained: L PathPart: create CaptureArgs: 0 -Provides an endpoint to the functionality described in L. +Provides an endpoint to the functionality described in +L. =cut -sub create :Chained('objects_no_id') :PathPart('create') :Args(0) -{ - my ($self, $c) = @_; +sub create : Chained('objects_no_id') : PathPart('create') : Args(0) { + my ( $self, $c ) = @_; $self->update_or_create($c); } @@ -72,13 +73,13 @@ Chained: L PathPart: list CaptureArgs: 0 -Provides an endpoint to the functionality described in L. +Provides an endpoint to the functionality described in +L. =cut -sub list :Chained('deserialize') :PathPart('list') :Args(0) -{ - my ($self, $c) = @_; +sub list : Chained('deserialize') : PathPart('list') : Args(0) { + my ( $self, $c ) = @_; $self->next::method($c); } @@ -88,13 +89,13 @@ Chained: L PathPart: '' Args: 0 -Provides an endpoint to the functionality described in L. +Provides an endpoint to the functionality described in +L. =cut -sub item :Chained('object_with_id') :PathPart('') :Args(0) -{ - my ($self, $c) = @_; +sub item : Chained('object_with_id') : PathPart('') : Args(0) { + my ( $self, $c ) = @_; $self->next::method($c); } @@ -104,13 +105,13 @@ Chained: L PathPart: update Args: 0 -Provides an endpoint to the functionality described in L. +Provides an endpoint to the functionality described in +L. =cut -sub update :Chained('object_with_id') :PathPart('update') :Args(0) -{ - my ($self, $c) = @_; +sub update : Chained('object_with_id') : PathPart('update') : Args(0) { + my ( $self, $c ) = @_; $self->update_or_create($c); } @@ -120,13 +121,13 @@ Chained: L PathPart: delete Args: 0 -Provides an endpoint to the functionality described in L. +Provides an endpoint to the functionality described in +L. =cut -sub delete :Chained('object_with_id') :PathPart('delete') :Args(0) -{ - my ($self, $c) = @_; +sub delete : Chained('object_with_id') : PathPart('delete') : Args(0) { + my ( $self, $c ) = @_; $self->next::method($c); } @@ -136,13 +137,13 @@ Chained: L PathPart: update Args: 0 -Provides an endpoint to the functionality described in L for multiple objects. +Provides an endpoint to the functionality described in +L for multiple objects. =cut -sub update_bulk :Chained('objects_no_id') :PathPart('update') :Args(0) -{ - my ($self, $c) = @_; +sub update_bulk : Chained('objects_no_id') : PathPart('update') : Args(0) { + my ( $self, $c ) = @_; $self->update_or_create($c); } @@ -152,14 +153,14 @@ Chained: L PathPart: delete Args: 0 -Provides an endpoint to the functionality described in L for multiple objects. +Provides an endpoint to the functionality described in +L for multiple objects. =cut -sub delete_bulk :Chained('objects_no_id') :PathPart('delete') :Args(0) -{ - my ($self, $c) = @_; - $self->next::method($c); +sub delete_bulk : Chained('objects_no_id') : PathPart('delete') : Args(0) { + my ( $self, $c ) = @_; + $self->delete($c); } 1;