diff options
Diffstat (limited to 'lib/Travelynx.pm')
-rwxr-xr-x | lib/Travelynx.pm | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm index d5dca3f..36a3998 100755 --- a/lib/Travelynx.pm +++ b/lib/Travelynx.pm @@ -2719,6 +2719,40 @@ sub startup { ); $self->helper( + 'get_top_destinations' => sub { + my ( $self, %opt ) = @_; + my $uid = $opt{uid} //= $self->current_user->{id}; + my $db = $opt{db} //= $self->pg->db; + + my @stations; + + my $res = $db->query( + qq{ + select arr_eva, count(arr_eva) as count + from journeys_str + where user_id = ? + and real_dep_ts between ? and ? + group by arr_eva + order by count + limit 5 + }, $uid, $opt{after}->epoch, $opt{before}->epoch + ); + + for my $dest ( $res->hashes->each ) { + $self->app->log->debug( $dest->{arr_eva} ); + $self->app->log->debug( $dest->{count} ); + if ( my $station + = $self->app->station_by_eva->{ $dest->{arr_eva} } ) + { + push( @stations, $station ); + } + } + + return @stations; + } + ); + + $self->helper( 'get_connection_targets' => sub { my ( $self, %opt ) = @_; @@ -4043,6 +4077,7 @@ sub startup { $authed_r->get('/export.json')->to('account#json_export'); $authed_r->get('/history.json')->to('traveling#json_history'); $authed_r->get('/history')->to('traveling#history'); + $authed_r->get('/history/commute')->to('traveling#commute'); $authed_r->get('/history/map')->to('traveling#map_history'); $authed_r->get('/history/:year')->to('traveling#yearly_history'); $authed_r->get('/history/:year/:month')->to('traveling#monthly_history'); |