package MusicBrainz::Server::Controller::WS::js::Artist;
use Moose;
BEGIN { extends 'MusicBrainz::Server::ControllerBase::WS::js' }

with 'MusicBrainz::Server::Controller::WS::js::Role::Autocompletion';
with 'MusicBrainz::Server::Controller::WS::js::Role::Autocompletion::PrimaryAlias' => {
    model => 'Artist',
};

my $ws_defs = Data::OptList::mkopt([
    "artist" => {
        method   => 'GET',
        required => [ qw(q) ],
        optional => [ qw(direct limit page timestamp) ]
    }
]);

with 'MusicBrainz::Server::WebService::Validator' =>
{
     defs => $ws_defs,
     version => 'js',
     default_serialization_type => 'json',
};

sub type { 'artist' }

sub serialization_routine { '_artist' }

sub search : Chained('root') PathPart('artist')
{
    my ($self, $c) = @_;
    $self->dispatch_search($c);
}

1;

