diff --git a/lib/Lufi.pm b/lib/Lufi.pm index dd0e878..ffce232 100755 --- a/lib/Lufi.pm +++ b/lib/Lufi.pm @@ -319,6 +319,11 @@ sub startup { shift->render(template => 'about'); })->name('about'); + # Get instance stats + $r->get('/fullstats') + ->to('Misc#fullstats') + ->name('fullstats'); + # Get a file $r->get('/r/:short')-> to('Files#r')-> diff --git a/lib/Lufi/Controller/Misc.pm b/lib/Lufi/Controller/Misc.pm new file mode 100644 index 0000000..a688559 --- /dev/null +++ b/lib/Lufi/Controller/Misc.pm @@ -0,0 +1,26 @@ +# vim:set sw=4 ts=4 sts=4 ft=perl expandtab: +package Lufi::Controller::Misc; +use Mojo::Base 'Mojolicious::Controller'; +use Mojo::File; +use LufiDB; +use Lufi::File; +use Lufi::Slice; + +sub fullstats { + my $c = shift; + + my $files = LufiDB::Files->count('WHERE created_at IS NOT null AND deleted = 0'); + my $deleted = LufiDB::Files->count('WHERE created_at IS NOT null AND deleted = 1'); + my $empty = LufiDB::Files->count('WHERE created_at IS null'); + + return $c->render( + json => { + files => $files, + deleted => $deleted, + empty => $empty, + timestamp => time, + } + ); +} + +1;