Files
urupam/lib/Urupam/App.pm

51 lines
1.3 KiB
Perl

package Urupam::App;
use Mojo::Base 'Mojolicious';
use Urupam::DB;
sub startup {
my $self = shift;
$self->helper(
db => sub {
my $c = shift;
$c->stash->{db} ||= Urupam::DB->new;
}
);
my $r = $self->routes;
$r->get('/')->to(
cb => sub {
my $c = shift;
my $tx = $c->render_later->tx;
my $db = $c->db;
$db->set( 'test_key' => '123soleil' )->then(
sub {
$c->app->log->info('Value set: test_key => 123soleil');
return $db->get('test_key');
}
)->then(
sub {
my $value = shift;
$c->app->log->info("Value retrieved: $value");
$c->render( json => { status => 'ok', value => $value } );
undef $tx;
}
)->catch(
sub {
my $err = shift;
$c->app->log->error("DB error: $err");
$c->render(
json => { status => 'error', message => "$err" },
status => 500
);
undef $tx;
}
);
}
);
}
1;