package Reporter::Routes::AJAX;
use Dancer2;
use Data::Printer;
use Reporter;
set serializer => 'JSON';
# app, contains model & db classes:
my $app = Reporter->new( config => config() );
hook before => sub { $app->check_db_connection }; # to ensure dbh still connected
# route duplicated in Routes so app.psgi can run a single app (also for bin/app.pl)
get '/get_diagnoses' => sub {
my $diagnoses = $app->model->get_diagnoses( param('diagnosis') )
|| return; # p $diagnoses; # doesn't do query unless str >= 3 chars
my @results = map {
{
id => $_->{id},
value => $_->{diagnosis},
info => $_->{icdo3} || '[non-ICDO3]',
}
} @$diagnoses; # ddp \@results;
return { results => \@results };
};
true;