package Reporter::Routes::AJAX; # not in use - psgi can't find get_diagnoses route - route moved to main Routes.pm =begin configuration for use with app.pl using ->dance (deprecated): * use Reporter::Routes::AJAX in Reporter::Routes * use 'appname' => 'Reporter::Routes' in arg to 'use Dancer2' * set prefix '/ajax' configuration for use with app.psgi using ->to_app: * do not use Reporter::Routes::AJAX in Reporter::Routes * do not use 'appname' in arg to 'use Dancer2' * do not set prefix '/ajax' =cut use Dancer2; # appname => 'Reporter::Routes'; # only required for ->dance use Data::Printer; set serializer => 'JSON'; # ensure "$Reporter::Routes::AJAX::app = $app" is set in Reporter::Routes our $app; # defined in Reporter::Routes # only needed if using appname => 'Reporter::Routes' in arg to 'use Dancer2' # prefix '/ajax'; hook before => sub { $app->check_db_connection }; # to ensure dbh still connected get '/get_diagnoses' => sub { # warn '=' x 30; 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; my $json = { results => \@results }; # p $json; return $json; }; 1;