Add more stats to default stat set

This commit is contained in:
Tom Bloor 2017-05-16 22:45:49 +01:00
parent a680d7b9df
commit 9586d1a637
4 changed files with 95 additions and 13 deletions

View file

@ -7,23 +7,39 @@ use base 'DBIx::Class::ResultSet';
use DateTime;
sub today_rs {
my ( $self ) = @_;
sub search_between {
my ( $self, $from, $to ) = @_;
my $dtf = $self->result_source->schema->storage->datetime_parser;
return $self->search({
submitted_at => {
-between => [
$dtf->format_datetime(DateTime->today()),
$dtf->format_datetime(DateTime->today()->add( days => 1 )),
$dtf->format_datetime($from),
$dtf->format_datetime($to),
],
},
});
}
sub today_for_user {
my ( $self, $user ) = @_;
return $self->search({ buyer_id => $user->id })->today_rs;
sub today_rs {
my ( $self ) = @_;
my $today = DateTime->today();
return $self->search_between( $today, $today->clone->add( days => 1 ) );
}
sub week_rs {
my ( $self ) = @_;
my $today = DateTime->today();
return $self->search_between( $today->clone->subtract( days => 7 ), $today );
}
sub month_rs {
my ( $self ) = @_;
my $today = DateTime->today();
return $self->search_between( $today->clone->subtract( days => 30 ), $today );
}
1;