Test use_json_boolean true
[catagits/Catalyst-Controller-DBIC-API.git] / t / lib / RestTest / Controller / API / RPC / Any.pm
CommitLineData
d2739840 1package RestTest::Controller::API::RPC::Any;
2use Moose;
3BEGIN { extends 'Catalyst::Controller::DBIC::API::RPC' }
4
5use namespace::autoclean;
6
7sub setup :Chained('/api/rpc/rpc_base') :CaptureArgs(1) :PathPart('any') {
8 my ($self, $c, $object_type) = @_;
9
10 my $config = {};
11 if ($object_type eq 'artist') {
12 $config->{class} = 'RestTestDB::Artist';
13 $config->{create_requires} = [qw/name/];
14 $config->{update_allows} = [qw/name/];
15 } elsif ($object_type eq 'track') {
16 $config->{class} = 'RestTestDB::Track';
17 $config->{update_allows} = [qw/title position/];
18 } else {
19 $self->push_error($c, { message => "invalid object_type" });
20 return;
21 }
22
23 $c->req->_set_class($config->{class});
24 $self->_set_class($config->{class});
25 $c->req->_set_current_result_set($self->stored_result_source->resultset);
26 $c->stash->{$_} = $config->{$_} for keys %{$config};
27}
28
291;