This repository has been archived on 2023-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
Foodloop-Server/lib/Pear/LocalLoop/Controller/Api/Stats.pm

45 lines
1.2 KiB
Perl
Raw Normal View History

2017-05-16 20:30:38 +00:00
package Pear::LocalLoop::Controller::Api::Stats;
use Mojo::Base 'Mojolicious::Controller';
2017-05-16 21:45:49 +00:00
sub post_index {
2017-05-16 20:30:38 +00:00
my $c = shift;
my $user = $c->stash->{api_user};
my $today_rs = $user->transactions->today_rs;
my $today_sum = $today_rs->get_column('value')->sum;
my $today_count = $today_rs->count;
2017-05-16 21:45:49 +00:00
my $week_rs = $user->transactions->week_rs;
my $week_sum = $week_rs->get_column('value')->sum;
my $week_count = $week_rs->count;
my $month_rs = $user->transactions->month_rs;
my $month_sum = $month_rs->get_column('value')->sum;
my $month_count = $month_rs->count;
my $user_rs = $user->transactions;
my $user_sum = $user_rs->get_column('value')->sum;
my $user_count = $user_rs->count;
my $global_rs = $c->schema->resultset('Transaction');
my $global_sum = $global_rs->get_column('value')->sum;
my $global_count = $global_rs->count;
2017-05-16 20:30:38 +00:00
return $c->render( json => {
success => Mojo::JSON->true,
today_sum => $today_sum || 0,
2017-05-16 20:30:38 +00:00
today_count => $today_count,
week_sum => $week_sum || 0,
2017-05-16 21:45:49 +00:00
week_count => $week_count,
month_sum => $month_sum || 0,
2017-05-16 21:45:49 +00:00
month_count => $month_count,
user_sum => $user_sum || 0,
2017-05-16 21:45:49 +00:00
user_count => $user_count,
global_sum => $global_sum || 0,
2017-05-16 21:45:49 +00:00
global_count => $global_count,
2017-05-16 20:30:38 +00:00
});
}
1;